void * thread1() //线程1
{
//............. pthread_mutex_lock(&mut);
a += 1; //①
b = a; //②
pthread_mutex_unlock(&mut);
}
void * thread2() //线程2
{
//.............
pthread_mutex_lock(&mut);
a += 2;
pthread_mutex_unlock(&mut);
}
这样就行呀, 加锁后另一个要等待锁释放
Sleep(1000)会导致线程1至少被挂起1000秒