读书人

linux下怎么在等待线程结束中设置超时

发布时间: 2012-03-23 12:06:21 作者: rapoo

linux下如何在等待线程结束中设置超时?
我知道在linux下用pthread_join可以等待线程结束。
但是我想在等待一段时间后如果目标线程还未结束就取消等待,该如何实现?

[解决办法]
gz

我看过一个例子使用pthread_timedjoin_np可以,不过我在linux的pthread库里找不到这条函数

timespec joinDelay;
joinDelay.tv_nsec = milliseconds;
pthread_timedjoin_np(thread, NULL, &joinDelay);
[解决办法]
alarm()就可以拉.
[解决办法]
如果是采用轮训的话,使用pthread_kill(threadid,0)向目标线程发送信号0
如果返回值不是0,说明目标线程不存在了,就可以回收资源了

读书人网 >C语言

热点推荐