原因:
如有两个线程,两把互斥锁,线程1先对互斥锁A上锁,延时,然后在对互斥锁B上锁;二线程2先对互斥锁B上锁,延时,再对互斥锁A上锁,这样就会死锁,因为两线程以不同顺序拿到了对方的锁,并且不能解锁;
解决方式:
1. 以相同的顺序加锁
2. 使用pthread_mutex_trylock()函数