摘要:
dede提出了一个用互斥量(Mutex)模拟信号量(Semaphore)的课题,非常有趣。 dede提出的方案应该这样,用i作为状态标识: lock(i_m); if (i > 0) { i--; unlock(i_m); enter_critical_region(); lock(i_m); i++; unlock(i_m); } else { unlock(i_m); lock(m); enter_critical_region(); unlock(m); } 如果没有理解错,信号量用于限制可同时进入关键区域的线程个数,而i也起到这个目的。那么当线程陆续创建并陆续退出的时候(在一定时 阅读全文