POSIX.1 指定了一组接口(函数、头文件),用于线程编程,通常称为 POSIX 线程或 Pthread。一个进程可以包含多个线程,所有线程都执行相同的程序。这些线程共享相同的全局内存(数据段和堆段),但是每个线程都有自己的栈(自动变量)。
常用函数
线程 ID
进程中的每个线程都有一个唯一的线程标识符(存储在 pthread_t 类型中)。该标识符返回给 pthread_create的调用者,线程可以使用 pthread_self获得其自己的线程标识符。
线程 ID 仅在一个进程中保证是唯一的(在所有接受线程 ID 作为参数的 pthreads 函数中,该 ID 从定义上是指与调用程序处于同一进程中的线程)。
pthread_create
创建一个线程。函数定义位于头文件 #include <pthread.h>
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
? void *(*start_routine) (void *), void *arg);
函数参数:
-
线程句柄 thread:当一个新的线程调用成功之后,就会通过这个参数将线程的句柄返回给调用者,以便对这个线程进行管理。
-
入口函数 start_routine(): 当你的程序调用了这个接口之后,就会产生一个线程,而这个线程的入口函数就是start_routine()。如
|