线程1
pthread_mutex_lock(&mutex);
a=1;
b=2;
pthread_mutex_unlock(&mutex);
线程2
pthread_mutex_lock(&mutex);
local_a=a;
local_b=b;
pthread_mutex_unlock(&mutex);
从pthread_mutex_unlock()到pthread_mutex_lock()之间可视化
当线程b从pthread_mutex_lock()中返回时,他将和线程a调用
pthread_mutex_unlock()看到同样变量的值。即相应的1和2
线程1
pthread_mutex_lock(&mutex);
a=1;
pthread_mutex_unlock(&mutex);
b=2;
线程2
pthread_mutex_lock(&mutex);
local_a=a;
local_b=b;
pthread_mutex_unlock(&mutex);
从pthread_mutex_unlock()到pthread_mutex_lock()之间可视化
当线程b从pthread_mutex_lock()中返回时,他将和线程a调用
pthread_mutex_unlock()看到同样变量的值。即local_a相应的1,
local_b的值,因为他是在解锁互斥量之后写入的。