LINUX.ORG.RU

История изменений

Исправление deep-purple, (текущая версия) :

не так. каллбеки не там.

у меня сейчас задумано так:

контроллер принимает сигнал начать какойто таск и просит таскманагера дать ему нужный таск, сетит ему цель и отправляет в тредпул.

таск, выполняясь в треде может сам просить таскманагера дать другой таск (для него это сабтаск), сетнуть его, подписать свой каллбек в сабтаск и отправить сабтаск в тредпул. причем сам таск из треда выходит и будет довызван по завершении сабтаска.

т.е. сабтаск хранит у себя калбеки родительских тасков которые подписались, а родительский таск может подписать свои калбеки на любое колво любых сабтасков.

калбек это тоже обьект, маленький, он хранит указатель на родительский таск и индекс по которому родитель ждет данные от сабтаска.

по завершении работы сабтаск обходит все калбеки и через них вызывает родительские таски передав им результат и статус своей работы.

Исходная версия deep-purple, :

не так. каллбеки не там.

у меня сейчас задумано так:

контроллер принимает сигнал начать какойто таск и просит таскманагера дать ему нужный таск, сетит ему цель и отправляет в тредпул.

таск, выполняясь в треде может сам просить таскманагера дать другой таск (для него это сабтаск), сетнуть его, подписать свой каллбек в сабтаск и отправить сабтаск в тредпул. причем сам таск из треда выходит и будет довызван по завершении сабтаска.

т.е. сабтаск хранит у себя калбеки родительских тасков которые подписались, а родительский таск может подписать свои калбеки на любое колво любых сабтасков.

калбек это тоже обьект, маленький, он хранит указатель на родительский таск и индекс по которому родитель ждет данные от сабтаска.