powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Легковесные последовательные подзадачи с возможностью блокировки
14 сообщений из 39, страница 2 из 2
Легковесные последовательные подзадачи с возможностью блокировки
    #39773549
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin,
а что с ресурсами происходит пока задача заблокирована?
остаются занятыми? дедлоков не боитесь?
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773558
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin,

а в целом совсем не ясно в чём вы видите проблему.

Aklinчисло блокировок начинает расти.
и что?
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773626
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХитроглазыйAklin,
а что с ресурсами происходит пока задача заблокирована?
остаются занятыми? дедлоков не боитесь?Нет, ресурс блокирует определенную задачу, но при этом продолжает отвечать остальным задачам. Даже если дедлок будет (хотя это скорее невероятно чем маловероятно), то это можно считать нормальным поведением.


ХитроглазыйAklin,

а в целом совсем не ясно в чём вы видите проблему.

Aklinчисло блокировок начинает расти.
и что?Сложность кода ресурсов и самих задач должна быть увеличена раз в десять чтобы обрабатывать новые запросы...



В общем пока без примера мне не удается нормально описать видимо...
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773630
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin,

Ты можешь опубликовать макет этого приложения? Разумеется без бизнес тайн.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773639
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AklinПосле завершения или блокировки задачи управление возвращается в диспетчер.
После разблокировки задачи надо продолжить с того же места, на котором задача встала, включая всю иерархию стеков.
Корутины позволяют как раз это - прервать выполнение на произвольном уровне вложенности вызовов, а потом продолжить с того же места, включая состояние локальных переменных.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773803
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AklinПотоков каких - ОС-потоков?
ОС рулит, во первых - процессами. Во вторых - потоками. Процесс включает кучу потоков. Процессом обычно является одно приложение, внутри которого может быть много потоков. В инглише это process и thread. И очень печально, что ты этих азов не знаешь.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773806
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555И очень печально, что ты этих азов не знаешь.
Речь не про это.
Речь про различие между каким-нибудь fiber и thread или coroutine
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773819
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinalex55555И очень печально, что ты этих азов не знаешь.
Речь не про это.
Речь про различие между каким-нибудь fiber и thread или coroutine
Давай вернем топик в конструктив.

Разумеется тебя может забавлять, когда эксперты безо-всякой конкретики начинают говорить
о том что у них наболело. И я тоже могу поговорить. И так будет еще 100 страниц.

Есть единственный верный кейс как решить твою проблему. Смоделировать ее на макете.
И опубликовать его.

Это - конструктив.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773847
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Специально на этот случай придумано.

https://ru.cppreference.com/w/cpp/thread/condition_variable

Производительность можно потестить - известно, что на win/lin скорости переключения и затраты могут быть разными в разы.

Тогда еще есть фиберсы.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773864
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AklinЗадачу в какой-то момент нужно приостановить до определенной отмашки.
Нет, это проблема. Такую задачу надо разбить на две: первая выполняется до упора, вторая запускается по отмашке.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39773904
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без кода гадать можно долго но пока выглядит как переизобретение эвентлупа OR оконной процедуры OR главного цикла. кому как больше нравится.
Задачи берутся с начала очереди выполняются если задача сейчас выполнится не может то задача переносится в конец очереди. Пусть попозже попробует выполнится.
Или же функция обратного вызова пусть возвращает задачу в очередь.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39774171
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin,

coroutine(fiber) самое то, состояния скрыть помогают хорошо
но жрут....
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39774178
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подождем автора. Надеюсь ... макет уже близок к концу?

Кстате вероятен факт что в процессе формализации макета (неожиданно!) всплывут версии
по улучшению и наши советы станут не нужны.
...
Рейтинг: 0 / 0
Легковесные последовательные подзадачи с возможностью блокировки
    #39774230
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

когда встаёт вопрос как соединить "несколько логических потоков вычислений" в один, то решений немного:
либо физическая изоляция в нити, а это всегда заведомо избыточные ресурсы

либо стейт-машина

В ручную реализацию во втором варианте, при более менее сложной логике, я не верю, количество состояний растёт экспоненциально.
Т.е. он конечно выгоднее по ресурсам, но без кодогенерации делать там особо нечего. В частной задаче это познания во "всемилюбимом" SUBSET_CONSTRUCTION + каком нибудь алгоритме минимизации стэйтов, типа Бржозовского.

Если пишется не что-то типа NGINX, то хз, стоит ли овчинка выделки.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Легковесные последовательные подзадачи с возможностью блокировки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]