LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1527|回复: 6

Linux的C语言编程里,如何非阻塞的方式获得创建的线程的状态?

[复制链接]
发表于 2008-2-14 17:04:54 | 显示全部楼层 |阅读模式
pthread_join()是阻塞模式,不能立即返回结果。我想非阻塞的方式知道指定的线程到底是运行中,还是阻塞中,还是运行完成了,或者还没开始运行。
 楼主| 发表于 2008-2-14 17:46:12 | 显示全部楼层
听说在linux上是用进程模拟线程的,请问这是真的吗?
回复 支持 反对

使用道具 举报

发表于 2008-2-14 17:54:18 | 显示全部楼层
那是过去了
现在Linux上的线程实现是货真价实的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-14 19:14:06 | 显示全部楼层
谢谢指点,请问如何非阻塞的方式获得创建的线程的状态?
回复 支持 反对

使用道具 举报

发表于 2008-2-16 02:59:14 | 显示全部楼层
Thread是很难track的。现在没有一个很好的Debugger可以有效的track thread by ID。根据你的程序要实现如何的效果,可以试试用mutex或semaphore来实现强制运行或等待指定的thread。一般的操作系统的书会有相关介绍,或参考man pthread。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-18 17:36:35 | 显示全部楼层
好像外部命令 ps -all 可以看
回复 支持 反对

使用道具 举报

发表于 2008-2-18 19:25:33 | 显示全部楼层
ptrace可以
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表