pthread_mutex_t 互斥锁
线程的互斥: 目前存在两个线程 , 线程A和线程B, 只允许只有一个资源对临界资源进程操作 (大概意思就是 : A线程 进入操作临界资源的时候 , 那么 B线程 就要进行等待 . 等到 A线程 操作临界资源完成退出临界区后, 这时候 B线程 才能对临界区进行访问 .) . 每次保障只有线程访问临界资源 . 线程锁就是起到保护的作用 , 我们可以对某一个临界区进行加锁 . 在任意时间只有线程 执行临界区的代码. 这样就实现了多线程之间的互斥 .
pthread_mutex_t 条件变量
条件变量 : 是用来实现线程之间的 唤醒和释放 , 我们可以控制线程进行等待 , 线程等待之后可以通知线程结束等待 后继续执行 .
互斥锁使用不当就会造成线程之间的死锁 , 就会造成线程一直等待