pthread 常用 API 创建 销毁 调度 互斥锁 自旋锁 读写锁 条件变量
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: 设置线程名。
获取当前线程标识符
线程创建以及销毁
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:广播唤醒等待条件变量的线程。