概要
race condition
当两个及以上的thread想同时访问同一个资源时,就会发生race condition(资源竞争),因为调度算法是可以在不同的threads之间来回切换的,没办法预测指定的顺序,那么就可能会发生竞争。避免这类的资源竞争,方法有semaphore(信号量),spinlock(自旋锁),mutex(互斥量)。
mutex
mutex是什么?mutual exclusion lock,互相排斥锁。同一时刻只有一个线程可以拿到该锁。
谁lock mutex,谁unlock 它。