岩土工程师 百分网手机站

两个模式集成在并发中的处理访问同步

时间:2017-06-13 18:54:00 岩土工程师 我要投稿

两个模式集成在并发中的处理访问同步

  如今在理论上和实践上己经存在很多成功的并发模型,但我们的目的并非要覆盖与并发相关的所有方面,而是把主要的关注点放在几个关键的模式上面。这些模式定义了如何构造和分割并发软件,从而形成多个协作的线程,以及如何组织对由多个线程共享的领域对象的访问。

  1)Active Object(活动对象)模式

  为了减少服务器并发线程应用。它通过将服务请求和服务执行解耦合来提高并发性,它将对象化的服务请求放到自己的控制线程中,并简化了对它们的访问。

  2)Monitor Object(监控对象)模式

  解决并发业务互相协调的问题。它通过同步并发方法的执行来保证同一时刻一个对象中只有一个方法在运行。它允许一个对象的多个方法以协作的方式确定它们的执行顺序表。

  3)模式的集成

  Active Object 和Monitor Object 模式主要处理访问同步,它们可以对对象并发调用的函数进行同步和调度。下图展示了Active Object 和Monitor Object 是如何与模式语言集成在一起的。

  这两个模式的主要区别在于:

  Active Object 模式:活动对象的'方法是在服务器与其客户端不同的线程中执行。

  Monitor Object 模式:监控对象的方法则在其客户端线程中执行。

  所以Active Object 可以执行更为复杂(尽管代价很大)的调度,来确定其方法的执行顺序。

  Active Object 主要用于在大的领域对象和子系统中支持并发,而Monitor Object 则主要用于实现较小的并发对象。