linux多线程编程(有关线程操作的函数)
2011-10-31 16:08
316 查看
#include <pthread.h> int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*func) (void *), void *arg); int pthread_join (pthread_t tid, void ** status); pthread_t pthread_self (void); int pthread_detach (pthread_t tid); void pthread_exit (void *status);
pthread_create用于创建一个线程,成功返回0,否则返回Exxx(为正数)。
pthread_t *tid:线程id的类型为pthread_t,通常为无符号整型,当调用pthread_create成功时,通过*tid指针返回。
const pthread_attr_t *attr:指定创建线程的属性,如线程优先级、初始栈大小、是否为守护进程等。可以使用NULL来使用默认值,通常情况下我们都是使用默认值。
void *(*func) (void *):函数指针func,指定当新的线程创建之后,将执行的函数。
void *arg:线程将执行的函数的参数。如果想传递多个参数,请将它们封装在一个结构体中。
pthread_join用于等待某个线程退出,成功返回0,否则返回Exxx(为正数)。
pthread_t tid:指定要等待的线程ID
void ** status:如果不为NULL,那么线程的返回值存储在status指向的空间中(这就是为什么status是二级指针的原因!这种才参数也称为“值-结果”参数)。
pthread_self用于返回当前线程的ID。
pthread_detach用于是指定线程变为分离状态,就像进程脱离终端而变为后台进程类似。成功返回0,否则返回Exxx(为正数)。变为分离状态的线程,如果线程退出,它的所有资源将全部释放。而如果不是分离状态,线程必须保留它的线程ID,退出状态直到其它线程对它调用了pthread_join。
进程也是类似,这也是当我们打开进程管理器的时候,发现有很多僵死进程的原因!也是为什么一定要有僵死这个进程状态。
pthread_exit用于终止线程,可以指定返回值,以便其他线程通过pthread_join函数获取该线程的返回值
相关文章推荐
- Linux 线程操作函数总结
- Linux 线程操作函数技能总结
- Linux下线程操作函数
- Linux 线程操作函数总结
- 讲Linux下面线程的操作、多线程的同步和互斥相关函数及操作的文章链接
- 线程同步(信号量,互斥,条件变量) 分类: linux应用程序 2008-04-08 09:43 2587人阅读 评论(1) 收藏 举报 进行多线程编程,最头疼的就是那些共享的数据。因为你无法知道哪个线程会在哪个时候对它进行操作,你也无法
- 讲Linux下面线程的操作、多线程的同步和互斥相关函数及操作的文章链接
- Linux 线程操作函数技能总结
- Linux进程、线程、内核操作函数
- Linux 线程操作函数总结
- [Linux技术][2010-8-12]setsockopt & getsockopt 函数中操作积累
- linux文件目录操作相关函数
- linux文件操作之open函数说明
- 有关线程的函数
- Linux系统常用目录操作函数
- Linux系统内存管理及相关操作函数
- Linux "零拷贝" sendfile函数中文说明及实际操作分析
- 使用C/C++运行时库函数操作线程
- Linux文件操作函数接口
- linux 线程属性函数总结