【发布时间】:2016-12-31 05:38:45
【问题描述】:
我在 Linux (CentOS 5.3) 上有一个 C++ 程序,它生成多个线程,这些线程处于无限循环中以执行工作并休眠几分钟。 现在我必须取消正在运行的线程,以防出现新的配置通知并重新启动新的线程集,为此我使用了 pthread_cancel。 我观察到的是,即使在收到取消指示后,线程也没有停止,甚至在睡眠完成后还有一些正在休眠的线程。
由于不希望出现这种行为,因此在上述场景中使用 pthread_cancel 会引发关于是好还是坏做法的问题。
请评论上述场景中的 pthread_cancel 用法。
【问题讨论】: