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