博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程pthread_cleanup_push的简单例程.
阅读量:4955 次
发布时间:2019-06-12

本文共 937 字,大约阅读时间需要 3 分钟。

#include
#include
#include
#include
void clean_fun1(void * arg){ printf("this is clean fun1\n");}void clean_fun2(void * arg){ printf("this is clean fun2\n");}void * thread_fun(void * arg){ pthread_cleanup_push(clean_fun1,NULL); pthread_cleanup_push(clean_fun2,NULL); sleep(100); //这里要注意,如果将sleep(100);换成while(1);的话,程序会一直暂停.push和pop要成对出现. //因为while(1);运行的太快,线程不接受cancel信号 //while(1); pthread_cleanup_pop(0); pthread_cleanup_pop(0); return NULL;}int main(){ pthread_t tid1; int err; err=pthread_create(&tid1,NULL,thread_fun,NULL); if(err!=0) { perror("pthread_create"); exit(0); } sleep(3); //printf("test\n"); err=pthread_cancel(tid1); if(err!=0) { perror("cancel error:"); exit(0); } err=pthread_join(tid1,NULL); if(err!=0) { perror("pthread_join error:"); exit(0); } return 0;}

转载于:https://www.cnblogs.com/hnrainll/archive/2011/04/20/2022149.html

你可能感兴趣的文章
chapter05作业
查看>>
磁盘管理
查看>>
用户管理系统
查看>>
Gym 102082B : Arithmetic Progressions
查看>>
交互式创建yum仓库脚本
查看>>
8.9
查看>>
dhcp服务脚本
查看>>
密钥对验证
查看>>
正向dns脚本
查看>>
dns等服务器搭建
查看>>
laravel soap
查看>>
MySQL 无法启动,出现 “发生系统错误 1067。”
查看>>
(android实战)实现摇一摇功能
查看>>
python 中的map,dict,lambda,reduce,filter
查看>>
二、语言基础
查看>>
[恢]hdu 1030
查看>>
hihocoder-1142-三分求极值
查看>>
SNAT、DNAT、NPT
查看>>
git 10.8
查看>>
css实现div的高度填满剩余空间
查看>>