Linux多线程程序设计
来源:互联网 发布:江大教务网络管理系统 编辑:程序博客网 时间:2024/06/06 08:12
Linux系统多线程遵循POSIX线程接口,称为pthread。Linux下多线程,需要头文件pthread.h,连接时需要使用库libpthread.a。
创建线程:int pthread_create(pthread_t *tidp,const pthread_attr_t *attr,void *(*start_rtn)(void),void *arg)
tidp:线程id
attr:线程属性(通常为空)
start_rtn:线程要执行的函数,参数3:函数指针,返回值是void*
arg:start_rtn的参数
因为pthread的库不是linux的库,所以在编译时要加上-lpthread #gcc filename -lphread eg:gcc thread_create.c -lpthread -o thread
创建线程:eg:ret=pthread_create(&id1,NULL,(void*)mythread1,NULL);
带int参数:error=pthread_create(&id1,NULL,creat,(void *)attr) 执行的函数:void *create(void *arg) 参数:int *attr=&test
共享参数:error=pthread_create(&id1,NULL,creat,NULL) 执行的函数: void *create(void *arg)
正常终止线程:线程从启动例程中返回;线程可以被另一个线程终止;线程自己调用pthread_exit函数
终止调用线程:void pthread_exit(void *rval_ptr) rval_ptr:线程退出的返回值的指针
线程等待:int pthrread_join(pthread_t tid,void **rval_ptr)
功能:阻塞调用线程,直到指定的线程终止
线程标识:pthread_t pthread_self(void)
功能:获取调用线程的thread identifier,即返回线程的ID
线程清除(线程正常或非正常终止,释放资源)
pthread_cleanup_push(void (*rtn)(void*),void *arg)
功能:把清除函数压入清除栈,rtn:清除函数,arg:清除函数的参数
pthread_cleanup_pop(int execute)
功能:将清除函数弹出清除栈 execute:是否在弹出清理函数的同时执行该函数,非0:执行;0:不执行
- 10、linux多线程程序设计
- LINUX 多线程程序设计
- linux多线程程序设计
- linux程序设计---多线程
- Linux多线程程序设计
- linux程序设计---多线程
- linux多线程程序设计
- Linux多线程程序设计
- Linux多线程程序设计
- Linux多线程程序设计
- Linux多线程程序设计
- 《linux程序设计》多线程学习
- Linux 多线程程序设计-LS13
- linux应用程序设计基础--多线程程序设计
- Linux多线程程序设计学习笔记
- Linux下多线程程序设计实验
- Linux笔记_多线程程序设计
- 【Linux C程序设计】创建多线程
- Fragment
- 统计学习方法(二)决策树
- Top K Frequent Elements
- CVE-2014-7911 Android本地提权漏洞分析与利用
- maven+Hibernate mysql驱动无法加载错误
- Linux多线程程序设计
- 为什么要使用SurfaceView来实现动画?
- 2016.10.05【GaoJueYi 初中部 NOIP普及组 】模拟赛总结及8、9月总结
- Android几种进程
- 20161005
- 四元数与欧拉角之间的转换及程序源码
- ios 简单的使用按比例自适应屏幕
- Java实现快速排序(二)
- APP启动过程