线程小记
2014-02-20 23:18
295 查看
线程比进程好的地方是可以共享创建线程的线程(即父进程)的资源,例如全局变量。
用pthread_create()来创建一个线程,如果没特殊要求的话可以使用缺省配置。
例子:
pthread_t t1;
pthread_create(&t1, NULL, trd, NULL);
第一个参数为一个 pthread_t 类型的变量。
第二个参数为一个pthread_attr_t() 的变量,当此参数为NULL时即为缺省配置。
第三个参数为创建该线程时所执行的函数。
第四个参数为传递给该函数的值,如果传递的值大于一个,那么就要定义一个结构体来存放数据,然后把整个结构体传递给函数。
如果创建成功函数返回0,如果返回其他都为出错。
在线程结束时能用pthread_exit()结束,如果不使用的话当线程执行完之后也会自己释放空间资源(不包括线程id),需要使用pthread_join()该线程才会确认释放线程id。
也可以把该线程设置为分离,只需要在线程中加入 pthread_detach(pthread_self()) 就能设置为分离线程。
用pthread_create()来创建一个线程,如果没特殊要求的话可以使用缺省配置。
例子:
pthread_t t1;
pthread_create(&t1, NULL, trd, NULL);
第一个参数为一个 pthread_t 类型的变量。
第二个参数为一个pthread_attr_t() 的变量,当此参数为NULL时即为缺省配置。
第三个参数为创建该线程时所执行的函数。
第四个参数为传递给该函数的值,如果传递的值大于一个,那么就要定义一个结构体来存放数据,然后把整个结构体传递给函数。
如果创建成功函数返回0,如果返回其他都为出错。
在线程结束时能用pthread_exit()结束,如果不使用的话当线程执行完之后也会自己释放空间资源(不包括线程id),需要使用pthread_join()该线程才会确认释放线程id。
也可以把该线程设置为分离,只需要在线程中加入 pthread_detach(pthread_self()) 就能设置为分离线程。
相关文章推荐
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量
- Linux下修改MySQL编码的方法
- Linux串口通信
- 从Windows系统下访问Linux分区相关软件