您的位置:首页 > 其它

如何异步取消一个线程

2016-02-29 09:41 363 查看
#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
pthread_t id;
void *thread_func(void *args)
{
printf("child-- start\n");
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS,NULL);
while(1){
;
};
printf(":-D thread have been killed \n");
}
int main(int argc, char const *argv[])
{
int ret;
ret=pthread_create(&id,NULL,(void *)thread_func,NULL);
sleep(1);
printf("main~~~~~~start to cancel!/(ㄒoㄒ)/~~\n");
pthread_cancel(id);
pthread_join(id,NULL);
printf("bye bye\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: