linux线程异常保护
2015-11-03 17:20
246 查看
用多线程的时候要添加thread库, -lpthread
创建线程 create_thread
如果线程正常退出,不会存在问题。如果线程非正常退出,那么线程中申请的资源就不能正常释放,申请内存造成内存泄漏,锁和信号量等操作容易造成死锁。
利用保护机制可以避免上述问题:
pthread_cleanup_push();
//要保护的操作
pthread_cleanup_pop();
要保护的操作只要有终止的动作(正常退出pthread_exit(),异常终止,return 除外),就会调用相应的回调函数中的清除动作。
回调函数中可以做 清理的工作。
暂时记录到这里,
创建线程 create_thread
如果线程正常退出,不会存在问题。如果线程非正常退出,那么线程中申请的资源就不能正常释放,申请内存造成内存泄漏,锁和信号量等操作容易造成死锁。
利用保护机制可以避免上述问题:
pthread_cleanup_push();
//要保护的操作
pthread_cleanup_pop();
要保护的操作只要有终止的动作(正常退出pthread_exit(),异常终止,return 除外),就会调用相应的回调函数中的清除动作。
回调函数中可以做 清理的工作。
暂时记录到这里,
相关文章推荐
- linux一天一命令博客链接
- linux下静态库的ranlib使用
- linux ar命令用法
- linux的crontab定时服务备份mysql数据
- Centos7 安装python3的独立环境
- Linux下使用Eclipse开发Hadoop应用程序
- Linux下crontab定时执行脚本
- java代码调用linux命令,生成.pem公钥私钥证书
- centos7 挂载virtualbox 中无法挂载共享文件
- PostgreSQL在CentOS下的源码安装
- 理解LInux路由
- 如何找出Linux系统中内置模块的信息
- centos7安装配置lnmp
- linux chmod 使用方法
- Linux CentOS增加swap分区
- Linux
- VMWare LINUX虚拟机设置固定IP上网方法
- 重新定位svn地址的方法(windows和linux),svn switch(sw)的帮助信息
- 如何理解ip路由和操作linux的路由表
- linux-flock文件锁之实际运用