pthead 常用 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:广播唤醒等待条件变量的线程。