实习项目总结
2016-07-21 14:17
239 查看
目录
用到的知识
线程是内核调度的最小单元,一种轻量级的进程,进程中可以有多个线程。前面说过每个进程有它自己独立的运行空间,而在同一个进程内的多线程是运行在同一片地址空间的,所以它们之间通信比起进程间通信就容易多了。多线程实现了多核心CPU架构(又叫对称多处理器架构(SMP))的效率最大化,在微观上是真正意义的并行。它们就好比进程的几个分支,最终汇聚成进程这条大河。
跟线程常见的函数有以下几个:
线程创建和回收
pthread_create:在进程中创建一条新线程
pthread_join:回收子线程(阻塞)
pthread_detach:分离子线程,分离后进程不必回收子线程
注意: pthread_join和pthread_detach只能选择其中的一个
线程取消函数
pthread_cancel:取消子线程,让它停止运行
pthread_setcancelstate:子线程设置自己是否可以被取消
pthread_setcanceltype:子线程设置被取消的类型,只有允许自己被取消时这个设置才有意义
线程退出函数
pthread_exit:线程返回(退出)的时候一般调用这个函数,也可以return,但不可以调用exit函数,因为exit是整个进程都退出了
pthread_cleanup_push:将要清理的线程压入栈
pthread_cleanup_pop:弹出栈中的线程
获取线程的id
pthread_self
线程函数的使用方法可以通过man手册查看
注意:编译线程的时候要加参数-lpthread
用到的知识
目录
用到的知识
多线程线程是内核调度的最小单元,一种轻量级的进程,进程中可以有多个线程。前面说过每个进程有它自己独立的运行空间,而在同一个进程内的多线程是运行在同一片地址空间的,所以它们之间通信比起进程间通信就容易多了。多线程实现了多核心CPU架构(又叫对称多处理器架构(SMP))的效率最大化,在微观上是真正意义的并行。它们就好比进程的几个分支,最终汇聚成进程这条大河。
跟线程常见的函数有以下几个:
线程创建和回收
pthread_create:在进程中创建一条新线程
pthread_join:回收子线程(阻塞)
pthread_detach:分离子线程,分离后进程不必回收子线程
注意: pthread_join和pthread_detach只能选择其中的一个
线程取消函数
pthread_cancel:取消子线程,让它停止运行
pthread_setcancelstate:子线程设置自己是否可以被取消
pthread_setcanceltype:子线程设置被取消的类型,只有允许自己被取消时这个设置才有意义
线程退出函数
pthread_exit:线程返回(退出)的时候一般调用这个函数,也可以return,但不可以调用exit函数,因为exit是整个进程都退出了
pthread_cleanup_push:将要清理的线程压入栈
pthread_cleanup_pop:弹出栈中的线程
获取线程的id
pthread_self
线程函数的使用方法可以通过man手册查看
注意:编译线程的时候要加参数-lpthread
相关文章推荐
- ECMAScript 6 扫盲
- 小白开始自己解决问题了吼吼~
- POJ1631——Bridging signals(动态规划,最长上升子序列应用)
- linux mmap 内存映射【转】
- iOS 跳转至AppStore评分页面
- 地图
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
- Android自定义流式标签控件
- configure,make,make intall
- day2 HDU - 2899
- Android原生应用集成ReactNative坑总结
- RSA加密算法及其与SpringMVC集成
- mongoDB 学习笔记(二)聚合查询
- 连接整数
- 浅析HTTP协议
- Ping命令的设计与实现
- Spring任务调度器之Task的使用
- windows文件复制到linux乱码,转换文件名编码
- JQuery Mobile 知识点与实例演示Android手机APP
- 2014NOIP复赛模拟练习 设置喷水池 解题报告