摘要:
5.2监视器对象1.问题 许多应用程序包含其方法被多个客户机线程并发调用的对象。这些方法通常修改其对象的状态。因此,为了使这些并发应用程序能正确地执行,有必要对对象的访问进行同步和调度。对于这个问题,必须考虑四个强制条件: 1)为了事务分离并避免对象状态不受控制地修改,面向对象编程人员习惯于只通过对象的接口方法访问对象。扩展这种面向对象编程模型以避免对象的数据不受控制的并发修改相对比较直接。因此对象的接口方法应该定义它的同步边界,在同一对象中某一时刻仅有一个方法能处于活动状态。 2)如果客户机必须显式获取和释放低层同步机制,如信号灯、互斥或条件变量,那么并发应用程序将更难进行编程。... 阅读全文