临界区 (Critical Section) 与 互斥 (Mutex)
临界区
是指访问共享资源(如共享变量、文件、打印机)的代码片段。
同一时刻,只能允许一个线程进入临界区执行,否则会导致数据混乱或冲突。
❌ 无保护 (No Synchronization)
试衣间 (临界区)
public void tryClothes() {
// 没有任何检查直接闯入
enterChangingRoom();
}
等待队列
✅ 互斥锁 (Mutex Lock)
试衣间 (临界区)
🔒
public synchronized void tryClothes() {
// 拿到锁才能进
enterChangingRoom();
}
阻塞队列 (Blocked)
开始多人抢占
重置