红联Linux门户
Linux帮助

linux线程异常保护

发布时间:2016-02-10 10:18:47来源:linux网站作者:szfhy

用多线程的时候要添加thread库, -lpthread

创建线程 create_thread

如果线程正常退出,不会存在问题。如果线程非正常退出,那么线程中申请的资源就不能正常释放,申请内存造成内存泄漏,锁和信号量等操作容易造成死锁。


利用保护机制可以避免上述问题:

pthread_cleanup_push();

//要保护的操作

pthread_cleanup_pop();

要保护的操作只要有终止的动作(正常退出pthread_exit(),异常终止,return 除外),就会调用相应的回调函数中的清除动作。

回调函数中可以做清理的工作。


本文永久更新地址:http://www.linuxdiyf.com/linux/17979.html