出于对忙等待(busy-waiting)的优化,我们有两种更好的办法:互斥量和信号量。
互斥量
互斥量是互斥锁的简称,是一个特殊类型的变量,通过某些函数,互斥量可以用来限制每次只有一个线程进入临界区。
临界区:就是一个更新共享资源的代码段,一次只允许一个线程执行此代码段。
Pthread标准为互斥量提供了一个特殊类型:pthread_mutex_t,除了初始化函数和摧毁函数,在获取临界区的访问和退出临界区我们需调用
以用累加求和计算pai来示例互斥量用法
信号量
信号量类似于一种特殊类