pthread_cleanup_push 和 pthread_cleanup_pop
来源:互联网 发布:伊宁seo搜索引擎 编辑:程序博客网 时间:2024/05/03 09:57
void pthread_cleanup_push(void (*routine)(void*), void *arg);
void pthread_cleanup_pop(int execute); //这里的int参数,0是不执行push的内容,非0是执行。
原型很简单,功能跟atexit()差不多,只不过一个是线程一个是进程。
用来设置在push/pop内线程退出时要做的事情。
需要注意的问题有几点:
1. push与pop一定是成对出现的,其实push中包含"{" 而pop中包含 "}",少一个不行。
2. push可以有多个,同样的pop也要对应的数量,遵循"先进后出原则"。
push进去的函数可能在以下三个时机执行:
1. 显示的调用pthread_exit()。
2. 在cancel点线程被cancel。
3. pthread_cleanup_pop()的参数不为0时。
以上动作都限定在push/pop涵盖的代码内。
前面的2个比较好理解,关键是pthread_cleanup_pop参数问题,其实int那是因为c没有bool,这里的参数只有0与非0的区别,对pthread_cleanup_pop,参数是5和10都是一样的,都是非0。
void pthread_cleanup_pop(int execute); //这里的int参数,0是不执行push的内容,非0是执行。
原型很简单,功能跟atexit()差不多,只不过一个是线程一个是进程。
用来设置在push/pop内线程退出时要做的事情。
需要注意的问题有几点:
1. push与pop一定是成对出现的,其实push中包含"{" 而pop中包含 "}",少一个不行。
2. push可以有多个,同样的pop也要对应的数量,遵循"先进后出原则"。
push进去的函数可能在以下三个时机执行:
1. 显示的调用pthread_exit()。
2. 在cancel点线程被cancel。
3. pthread_cleanup_pop()的参数不为0时。
以上动作都限定在push/pop涵盖的代码内。
前面的2个比较好理解,关键是pthread_cleanup_pop参数问题,其实int那是因为c没有bool,这里的参数只有0与非0的区别,对pthread_cleanup_pop,参数是5和10都是一样的,都是非0。
- pthread_cleanup_push 和 pthread_cleanup_pop
- pthread_cleanup_push 和 pthread_cleanup_pop
- pthread_cleanup_push和pthread_cleanup_pop
- pthread_cleanup_push() 和 pthread_cleanup_pop()
- pthread_cleanup_push和pthread_cleanup_pop学习
- pthread_cleanup_push()和pthread_cleanup_pop()的理解
- pthread_cleanup_push() pthread_cleanup_pop()
- pthread_cleanup_push() pthread_cleanup_pop()
- pthread_cleanup_push() pthread_cleanup_pop()
- pthread_cleanup_push && pthread_cleanup_pop
- pthread_cleanup_push()/pthread_cleanup_pop()
- pthread_cleanup_push()/pthread_cleanup_pop()
- pthread_cleanup_push()/pthread_cleanup_pop()
- pthread_cleanup_push() & pthread_cleanup_pop()
- linux线程,pthread_join和pthread_cleanup_push和pthread_cleanup_pop
- pthread_cleanup_push()/pthread_cleanup_pop()的详解
- pthread_cleanup_push,pthread_cleanup_pop问题
- pthread_detach,pthread_cleanup_push,pthread_cleanup_pop
- JAVA throws
- android:autoCompleteTextView学习记录
- UVA 705 - Slash Maze (Flood_Fill + DFS)
- 调试JAVASCRIPT,不再用ALERT了(一)
- android网络连接经常出现Timeout,NetworkOnMainThreadException问题,手动浏览器访问web地址正常
- pthread_cleanup_push 和 pthread_cleanup_pop
- (转)Android Service 服务(二)—— BroadcastReceiver
- HDOJ 1496 - Equations Hash
- 在linux下配置网桥透明模式防火墙
- org.apache.jasper.JasperException: /jsp/case/update/caseUpdate.jsp(249,30) equal symbol expected
- HDOJ 1026 Ignatius and the Princess I
- wordpress模板常用函数集锦
- ZOJ 1649 - Rescue BFS/优先队列
- C++隐式转换带来的问题