java并发程序的设计模式

一、Future模式

二、master-worker模式

三、Guarded Suspeionsion模式(保护暂停)

  1、核心思想:

      仅当服务进程准备好时,才提供服务。

  2、角色及作用

角色 作用
Request 表示客户端请求
RequestQueue 用于保存客户端请求队列
ClientThread 客户端进程
ServerThread 服务端进程

  注意:
    guarded Suspension 模式可以保证系统仅在有能力处理某个任务时,才处理该任务,当系统没有能力处理任务时,它将暂存任务信息,等待系统空闲。

四、不变模式

  1、不变模式天生就是多线程友好的,它的核心思想是:

    一个对象一旦被创建,则它的内部状态将永远不会发生改变。

  2、使用场景主要需要满足两个条件:

    1》当对象创建后,其内部状态和数据不再发生任何变化。

    2》对象需要共享,被多线程频繁访问。

  3》最典型的例子:java的string。

五、生产者-消费者模式

  1、生产者—消费者模式的核心组件是共享内存缓冲区,它作为生产者和消费者间的通信桥梁,避免了生产者和消费者的直接通信,从而将生产者和消费者进行解耦。

  2、角色及作用  

角色 作用
生产者 用于提交用户请求,提取用户任务,并装入内存缓冲区
消费者 在内存缓存区中提取并处理任务
内存缓存去 缓存生产者提交的任务和数据,供消费者使用
任务 生产者向内存缓冲区提交的数据结构

posted on 2016-08-12 21:20  小胖哲  阅读(110)  评论(0)    收藏  举报