首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分层线程结构(线程中的线程)

分层线程结构(线程中的线程)
EN

Stack Overflow用户
提问于 2019-05-09 03:39:22
回答 2查看 309关注 0票数 0

正如我的主题所述,我想创建一种层次化的线程化方法。

我画了一张图来帮助解释。蓝色方块中的线程应该创建另外两个子威胁。

我需要创建这样一个依赖关系,如果我的主线程要被中止,我的子线程也应该被中止。

另外,如果另一个具有更高优先级的蓝色块被执行,我希望蓝色块的子线程也进入等待状态。

此外,只有当所有的子线程和它自己都完成时,蓝色区块线程才会完成。

有没有人对这个想法有什么建议?

EN

回答 2

Stack Overflow用户

发布于 2019-05-10 06:49:21

要解决的最简单的需求是最后一个:

同样,蓝色的阻塞线程只有在所有的子线程和自身都完成的情况下才会完成。

您只需在子线程上加入,就可以实现这一点。

然而,对于您的其他需求,您的问题是线程之间没有父子关系。一旦一个线程启动了另一个线程,这两个线程就是对等的。因此,您不能依赖操作系统或框架来建立您正在寻找的层次结构。您需要自己实现它,可能是通过某种信号机制,在这种机制中,父线程或某个控制器线程会杀死其他线程。

不过,最好重新设计应用程序的架构,这样它就不需要这种线程层次结构了。想想为什么您认为需要它,以及您可以用什么其他方式来完成相同的事情--也许以分层的方式构造数据,让每个线程只对分配给它的数据进行操作?

票数 1
EN

Stack Overflow用户

发布于 2021-04-05 17:06:46

你可以研究一下绿色线程。

一种简单的方法是设计一个描述工作任务的树,以及一个大小与这三个任务成比例的线程池,以消耗树上的工作任务,并将结果报告给树中指定的处理程序。

这样的实现本质上是一个协程引擎。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56047919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档