【发布时间】:2018-05-15 01:15:49
【问题描述】:
假设我有 3 个线程。
第一个线程是我创建线程的控制器 第 2 和第 3 是完成数据处理的地方
关键是,第二个线程与第三个线程执行不同的操作。所以我需要一种方法来区分这两种不同的逻辑。只用不同的方法创建线程就足够了吗?
不!那是因为如果线程 2 死了,变得没有响应,我需要第三个来代替它并开始做第二个线程正在做的工作,并创建一个新的作为第三个,但创建一个新的作为第三个是不是我的问题。
正如我所说,如何突然让第三个线程开始执行第二个逻辑而不为之前的第二个线程启动一个全新的线程并重置它的变量
例如线程 2 死了,线程 3 现在需要开始执行线程 2 的工作,我需要创建一个新线程来覆盖线程 3。
注意:额外的问题是我如何在不丢失线程 2 的情况下做到这一点,以便在它停止无响应的情况下我仍然可以重新使用它?
任何帮助表示赞赏!
【问题讨论】:
-
在任何保存数据的结构中,使用任何线程都可以用来运行大小写切换的枚举。然后所有线程都可以运行相同的代码,您可以通过适当地设置枚举来控制操作的顺序,以指示下一个线程运行所需的操作。
-
哦 - 如果线程 2 的问题是错误,请修复它!
标签: c linux multithreading pthreads mutex