pthread 常用 API
- 线程创建,销毁,属性,同步,调度等常用 API。
- 头文件:
pthread.h
。
线程属性
- 结构体
pthread_attr_t
,用于设置和获取线程的属性。 pthread_attr_init
:初始化线程属性对象。在使用线程属性对象之前,必须先调用该函数进行初始化。pthread_attr_destroy
:销毁线程属性对象。当不再需要使用线程属性对象时,应该调用该函数进行销毁。
线程堆栈大小
pthread_attr_setstacksize
:设置线程的堆栈大小。pthread_attr_getstacksize
:获取线程的堆栈大小。
线程调度
pthread_attr_setschedpolicy
:设置线程的调度策略。pthread_attr_setschedparam
:设置线程的优先级。pthread_attr_setinheritsched
:设置线程是否继承父线程的调度属性。pthread_setschedparam
:设置线程的调度策略以及优先级。pthread_setschedprio
:设置线程的优先级。
线程 CPU 亲和性
pthread_attr_setaffinity_np
:设置线程 CPU 亲和性。pthread_setaffinity_np
:设置线程 CPU 亲和性。
线程名
pthread_setname_np
: 设置线程名。
获取当前线程标识符
pthead_self
:获取当前线程描述符。
线程创建以及销毁
pthread_create
:创建新线程。pthread_join
等待线程结束并回收资源。pthread_detach
:将线程设置为分离状态,使其结束后自动释放资源。pthread_cancel
:取消线程。pthread_exit
:终止当前线程。
线程互斥锁
pthread_mutex_init
:初始化互斥锁。pthread_mutex_destroy
:销毁互斥锁。pthread_mutex_lock
:加锁。pthread_mutex_unlock
:解锁。
线程自旋锁
pthread_spin_init
:初始化自旋锁。pthread_spin_destroy
:销毁自旋锁。pthread_spin_lock
:加锁。pthread_spin_unlock
:解锁。
线程读写锁
pthread_rwlock_init
:初始化读写锁。pthread_rwlock_destroy
:销毁读写锁。pthread_rwlock_rdlock
:加读锁。pthread_rwlock_rwlock
:加写锁。pthread_rwlock_unlock
:解锁。
线程条件变量
pthread_cond_init
:初始化条件变量。pthread_cond_destroy
:销毁条件变量。pthread_cond_wait
:等待条件变量。pthread_cond_timedwait
:在指定时间内等待条件变量。pthread_cond_signal
:唤醒等待条件变量的线程。pthread_cond_broadcast
:广播唤醒等待条件变量的线程。