我正在尝试移植依赖于 SIGCONT 的代码来停止应用程序的某些线程。对于当前的 linux nptl 实现,似乎不能依赖 2.6.x 内核中的实现。我正在尝试设计一种方法来停止其他线程。目前我只能考虑互斥体和条件变量。任何提示表示赞赏。
如果您依赖于停止和恢复其他线程,那么您的应用程序最终将失败。
这是因为,您无法保证在获取了保护共享资源的互斥体时不会停止线程。这将导致死锁,因为任何其他需要等待互斥体的线程(可能包括停止第一个线程的线程)将永远等待。
我确信这是可能的,但同时,你也做错了。
注意:这样的互斥体可能存在于 C 库的某些部分中,即使您自己的代码中没有互斥体。如果您自己的代码中没有任何内容并且它很重要,我会感到惊讶。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)