永发信息网

线程,如何通过pthread_t这个线程id判断线程是否已经终止

答案:1  悬赏:30  手机版
解决时间 2021-03-23 15:10
线程,如何通过pthread_t这个线程id判断线程是否已经终止
最佳答案
还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数。int pthread_kill(pthread_t thread, int sig);向指定ID的线程发送sig信号,如果线程代码内不做处理,则按照信号默认的行为影响整个进程,也就是说,如果你给一个线程发送了SIGQUIT,但线程却没有实现signal处理函数,则整个进程退出。pthread_kill(threadid, SIGKILL)也一样,杀死整个进程。如果要获得正确的行为,就需要在线程内实现signal(SIGKILL,sig_handler)了。OK,如果int sig是0呢,这是一个保留信号,一个作用是用来判断线程是不是还活着。我们来看一下pthread_kill的返回值:成功:0线程不存在:ESRCH信号不合法:EINVAL所以,pthread_kill(threadid,0)就很有用啦。int kill_rc = pthread_kill(thread_id,0);if(kill_rc == ESRCH)printf("the specified thread did not exists or already quit\n");else if(kill_rc == EINVAL)上述的代码就可以判断线程是不是还活着了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
---Hello,isthatMrsBlackspeaking?---Yes.Who
2003年以前的国企职工辞职后50岁能领能领退休
相书说有彩眉吉星高照是吗
卡西欧这两款G系列防水怎么样
地膜覆盖的方式
为什么跟着钢琴模唱还是唱不准。
r11和r11t区别很大吗,哪个好
枇杷和鸟的诗词,关于琵琶古诗词
4000466000这是哪里号码
闫桂玉诊所地址在什么地方,想过去办事
诸位朋友,我有一妙对,谁能对出下联
东莞万达中心的凡普金科公司怎么走?
求小说《 左肩唇印总裁的情人【豪门情变系列
You,too,aresupposedtoputeverything
There are going to be moments in life when
推荐资讯
旱厕是什么聊天,聊天旱厕是什么意思
寻求大话西游3人族上品装备的制作方法和需要
求等风的日子吉他谱!吉他谱!吉他谱!
白露为霜下一句,宁为玉碎下一句是什么~~~
身份证在潮州办理可以在广州市领取吗
爱情中表示忠心的句子,(让我患得患失的人不
结尾带新的诗句,有哪些结尾带有月的诗词
单选题恩格斯指出:“一切宗教不过是支配着人
对于公证处工作的正确理解
woods表示树林时,做主语,谓语用单数还是复数
洗衣池台面离地面多高最佳?我身高1.6米
“干杯”英文是不是Chees?还有一到十吉利成
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?