7
A
回答
10
if(pthread_kill(the_thread, 0) == 0)
{
/* still running */
}
参见:pthread_kill
注:有一种内在的风险,使用pthread_kill()测试是否 线程仍在运行。看到这个帖子了一个解释: How do I determine if a pthread is alive?
4
如果您不需要编写便携式应用程序并可以使用GNU扩展,则可以使用pthread_tryjoin_np
。我相信除了在两个线程之间建立通信(例如,使用线程拥有的全局互斥锁,只要它处于活动状态)之外,没有其他方法可以实现它。
+0
upvote for the mutex idea! – Mawg 2016-06-30 09:31:03
3
我要加入到讨论的事实,一个线程可以在未在信号的情况下,这里提到如SIGPIPE另一种情况就是死当它是不是由主机进程或线程自己处理,并在可能出现这种信号的情况下处理
+0
这对整个过程是致命的,而不仅仅是一个线程。 – 2016-09-26 11:39:12
相关问题
- 1. 如何知道正在运行的脚本是否死亡?
- 2. mysqli或死亡,是否必须死亡?
- 3. SparkViewEngine是否正在死亡?
- 4. 是否已经死亡?
- 5. “sub END”如何知道程序已经死亡? (Perl)
- 6. 我怎么知道孩子进程何时死亡?
- 7. sIFR项目是否已经死亡?
- 8. 确定过程是否已经死亡?
- 9. WP7.1 ScheduledTaskAgent通知何时死亡
- 10. 如何知道线程是否处于死锁状态?
- 11. 如何知道是否
- 12. 脚本死亡,我不知道为什么
- 13. 如何判断客户端进程是否死亡?
- 14. 如何知道哪个特定的runnable在我的threadPoolExecutor中死亡?
- 15. 如何知道何时杀死线程?
- 16. 如何知道NSWindow是否是前窗?
- 17. 如何知道表是否是数组?
- 18. 如何知道指针是否是NSObject?
- 19. mediaplayer死亡android
- 20. Disqus + ajax +死亡...
- 21. 致人死亡
- 22. 砍死WordPress站点不知道如何
- 23. 在COM中,如何在客户死亡时得到通知?
- 24. 如何知道7zip是否使用AES256?
- 25. 如何知道是否存在NSUserDefault?
- 26. 你如何知道CA是否可信?
- 27. 如何知道演员是否空闲
- 28. 如何知道函数是否完成?
- 29. 如何知道我是否在回传?
- 30. 如何知道查询是否成功?
应该指出,线程不能只是“死”。 (1)从其开始函数返回,(2)调用'pthread_exit',(3)调用作为取消点的函数,同时取消未被阻止,并且已经调用了'pthread_cancel',或者(4)在异步取消生效的同时作为'pthread_canel'的目标。 – 2011-06-14 04:41:47