摘要:
竞争条件(Race condition)两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序。临界区(Critical region)对共享内存进行访问的程序片段称作临界区域(critical region)或临界区。如果适当安排,使两个进程不可能同时处于临界区中,就能够避免竞争条件。尽管这样能避免竞争条件,但它不能保证使用共享数据的并发进程能够正确和高效地进行协作。对于一个好的解决方案,需要满足以下四个条件:任何两个进程不能同时处于其临界区。不应对CPU的速度和数量做任何假设。临界区外运行的进程不得阻塞其他进程。不得使进程无限期等待进入临界区。信号量(Semaphore)有时 阅读全文