线程的控制
线程控制
POSIX线程库
在上面提到,Linux在内核层面没有专门为线程设计一套系统调用接口,但是在应用层为用户提供了一套原生线程库。
pthread
线程库就是应用层的原生线程库:
- 应用层指的是这个线程库并不是系统接口直接提供的,而是由第三方帮我们提供的
- 原生指的是大部分Linux系统都会默认带上该线程库
- 与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以”
pthread_
“打头的 - 要使用这些函数库,需要包含头文件
pthread.h
- 链接这些线程函数库时,要使用编译器的”
-lpthread
“选项
错误检查:
- 传统的一个函数是,成功返回0,错误返回-1,并且对全局变量
errno
赋值以指示错误 - 但是
pthreads
函数出错时并不会设置errno
,而是将错误代码通过返回值返回 pthreads
同样也提供了线程内的errno
变量,以支持其他使用errno
的代码。对于pthreads
函数的错误,建议通过返回值来判定,因为读取返回值要比读取线程内的errno
变量开销更小。
线程创建
创建线程的函数为pthread_create
线程的控制
https://tangerine-kitten-lux.netlify.app/线程的控制/