linux 线程学习
来源:互联网 发布:二叉树的遍历算法 编辑:程序博客网 时间:2024/06/07 05:44
一.线程创建
pthread_create(tid,NULL,fun,void*arg) 正常返回0.
void * fun(void*arg);
二.线程终止
任意线程调用了exit,_Exit ,_exit.那么整个进程就会终止。
单个线程退出:1.线程函数中 return或pthread_exit, 2.被其他 线程取消 调用pthread_concel(pid)
三.主线程等待线程结束
pthread_join(tid,NULL); 正常返回0
四.线程清理函数。是在线程处理函数中调用,并且线程处理函数只能用pthread_exit退出时才会调用清理函数。
void pthread_cleanup_push(fun1,void*arg); 加入线程清理函数
void pthread_cleanup_pop(int execute); 调用
例如:void fun1(void *arg){}
void* fun(void*arg)
{
pthread_cleanup_push(fun1,void*arg);
........
pthread_cleanup_pop(0);
pthread_exit((void*)1);
}
五:分离线程:即线程一结束,终止状态等资源就被立即收回,主线程就不能调用pthread_join来等待线程结束状态。
pthread_detach(tid)
六.对于一个线程写,其他线程读的变量要加锁。
0 0
- linux 线程学习
- linux C 线程学习
- linux线程学习
- Linux线程学习总结
- Linux线程学习笔记
- Linux 线程学习
- Linux线程学习(一)
- linux pthread线程学习
- linux 线程学习1
- linux线程学习-信号量
- linux 线程学习
- Linux学习--线程概念
- Linux学习--线程控制
- linux 线程学习
- linux线程进程学习
- Linux线程函数学习
- Linux线程学习总结
- linux 线程学习(一)
- using waitKey function
- arcengine .net 遇到图层名为罗马数字
- 「Chris Richardson 微服务系列」微服务架构的优势与不足
- 贝叶斯简单理解
- malloc,vmalloc,kmalloc
- linux 线程学习
- 使用Python+selenium+BeautifulSoup抓取动态网页的关键信息
- 二、HTML基础之文字与段落
- 使用 C++ 处理 JSON 数据交换格式
- Davinci DM6446 Codec Engine双核通信环境的搭建
- effective C++操作符重载函数是否应为friend
- 从零搭建vue工程(vue-router,webpack)
- 点击菜单背景颜色来回切换
- OpenCV_基于HOG特征的行人检测