1
我正面临一个与pthread_cancel相关的问题。请参阅下面的代码:线程取消问题
void* func(void *arg)
{
while(1)
{
sleep(2);
}
}
#include<stdlib.h>
#include <stdio.h>
#include <pthread.h>
int main()
{
void *status;
pthread_t thr_Var;
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE,NULL);
pthread_create(&thr_Var,NULL,func,NULL);
pthread_cancel(thr_Var);
pthread_join(thr_Var,&status);
return 0;
}
我的疑问是,即使我禁用取消状态,依然pthread_cancel可以是工作,线程得到终止。 任何帮助将不胜感激
你的意思是说我应该在线程函数func本身设置取消状态 –
是的,这是正确的。 – iabdalkader
谢谢,我会试试看。 –