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
謝謝,我會試試看。 –