【发布时间】:2011-03-17 22:15:02
【问题描述】:
互斥锁用于保护临界区。假设已经对互斥体执行了向下操作,而执行该操作的线程在 CS 中,其他 10 个线程紧随其后,对互斥体执行向下操作,使自己进入睡眠状态。当第一个线程退出临界区并在互斥体上执行 up 时,是否所有 10 个线程都唤醒并恢复它们将要执行的操作,即进入临界区?那不是意味着所有 10 个可能同时进入临界区吗?
【问题讨论】:
标签: multithreading thread-safety mutex critical-section