线程间同步与互斥 由于线程共享进程的资源和地址空间,因此在对这些资源进行操作时,必须考虑到线程间资源访问的同步与互斥问题。 互斥锁 是用一种简单的加锁方法来控制对共享资源的原子操作。这个互斥锁只有两种状态,也就是上锁(lock)和解锁(unlock),可以把互斥锁看作某种意义上的全局变量。 同一时刻只能有一个线程掌握某个互斥锁,拥有上锁状态的线程能够对共享资源进行操作(即某线程上锁即表示对共享的资源拥有操作权限)。 若其他线程希望上锁一个已经被上锁的互斥锁,则该线程就会挂起,直到上锁的线程解锁为止。即互斥锁保证让每个线程对共享资源按顺序进行原子操作。