线程的创建和退出:
另一种是调用pthread_exit函数主动退出。最后,进程终止函数exit函数,一旦结束了进程,那么此进程中所有线程都将无条件终止。
一个注意点:在默认线程属性下,如果一个进程有很多线程在同时运行,一个线程在退出以后,当前线程所占用的资源并不会随着线程的终止而得到释放。因为所有处在一个进程中的线程共享资源。
线程中还有一个常用函数:pthread_join函数可以用于将当前线程挂起,等待其他线程结束。实际上,这个函数是就是一个线程阻塞函数,调用它的函数将一直等待到被等待的线程结束为止。当函数返回时,被等待线程的资源就被回收。
pthread_create 函数:
所需文件头: |
#include <pthread.h> |
函数原型: |
int pthread_create((pthread_t*thread,pthread_attr_r*attr,void*(*start_routine) |
函数传入值: |
thread:线程标识符 |
|
attr: 线程属性设置 null表示采用默认 |
|
start_roitine : 线程函数的启示地址 |
|
arg :传递给start_routine的参数 |
函数返回值: |
成功:0 |
pthread_join函数
所需文件头: |
#include <pthread.h> |
函数原型: |
int pthread_join ((pthread_t th,void **thread_return)) |
函数传入值: |
th: 等待线程的标识符 |
函数返回值: |
成功:0 |
|
出错:-1 |