Parallel World 1 并行世界的两个基本问题

Race Conditions(竞态条件) - 一个执行单元修改资源R后,释放了它对R的写访问权,之后又从新获得了对R的读访问权限,再次使用R,并且认为R的状态仍然保持在释放它之后的状态;但是在写访问权限释放后到重新获得对R的读访问权之间这段时间,另一个执行单元实际上已经修改了R。一个典型的竞态条件模型是生产者/消费者模型。

Deadlocks(死锁) - 两个或多个执行单元之间相互等待对方结束而引起的组塞情况。比如一个执行单元EU1获得了对资源R1的访问权,另一个执行单元EU2获得了对资源R2的访问权,当EU1请求对R2的访问权时,由于EU2占据着对R2的访问权限,EU1将等待EU2对R2访问权的释放;同时EU2请求对R1的访问权限时,由于EU1占据着对R1的访问权限,EU2将等待EU1对R1访问权的释放。这时两个执行单元将永远维持等待状态,系统陷入死锁。

原文地址:https://www.cnblogs.com/wildboar/p/2063853.html