1、互斥量
1.0 阻塞和死锁
阻塞:被加锁的线程都会被阻塞;
死锁:造成死锁的两种可能
1)如果线程试图对同一个互斥量加锁两次,它自身就会陷入死锁状态;
2)A线程一直占用第一个互斥量,然后试图锁住第二个互斥量时,进入阻塞状态;
B线程一直占用第二个互斥量,然后试图锁住第一个互斥量是,进入阻塞状态。
避免锁死的方法:所有的线程总是先对第一个互斥量加锁,然后对第二个互斥量加锁
1.1 C示例
#include <pthread.h>
#include <stdio.h>
pthread_mutex_t mutex;
int index =