当前位置:编程学习 > JAVA >>

Java多线程模式

介绍以下多线程模式,这里主要是列举Java有哪些线程模式以及其主要的使用方式。详情可阅读《Java多线程模式》一书。

 

1、Single Thread Execution——能通过这座桥的,只有一个人

该模式用锁来保护关键的执行区域。

 

2,Immutable ——不可破坏的

Immutable类是指实例化之后状态不再改变的类。

该模式可以在以下情况下考虑使用:确认类的实例状态不会发生变化;实例需要共享,且访问频繁。

 

3,Guarded Suspension——先等我准备好

该模式的主要特征是:正在wait的线程,期望当警戒条件成立的时候收到notify/notifyAll。

 

4,Balking——不需要的话就算了吧

该模式的主要特征是“不等待”。当警戒条件不成立的时候,就直接退出,马上进入下一个工作。

 

5,Producer-Consumer——我来做,你来用

生产者与消费者模式是多线程最经典的模式。生产者线程和消费者线程之间合作要想“放在中间的东西”,同步则要想“应该保护的东西”。

 

6,Read-Write Lock——想看就看,但看的时候不能写

该模式适合读任务繁重的时候。

 

7,Thread-Per-Message—这个工作交给你了

对于耗时操作,交给新线程。

 

8,Worker Thread ——等到工作来,来了就工作

该模式与Thread-Per-Message模式的区别:启动线程比较花时间,但需要频繁的创建新线程去完成工作的时候,不如重复使用一个线程,保证资源的再利用。这个线程就是Worker Thread。

另外,该模式的一个主题是服务量(承载量)-既Worker Thread与Request的数量之间的平衡。

 

9,Future ——先给您提货单

该模式使用场景是,如果获取某个值是一个耗时操作,则可以分离“准备返回值”和“使用返回值”。先给一个“准备返回值”,后续再获取“使用返回值”。

 

10,Two-Phase Termination——收拾好玩具去睡觉

线程的两步终止法,在博客http://blog.csdn.net/luoxinwu123/article/details/7660625中有详细介绍。

 

11,,Thread-Specialfic Storage——每个线程的保管箱

该模式是使用Thread_Local Storage(TLS)来保管线程的一些状态。

12,Active Object——接受异步消息的主动对象

主动对象一般指自己拥有独立的线程,其特征是:(1)异步接受外部传来的请求;(2)可自由调度;(3)实际的处理由单线程运行;(4)可返回执行结果;(5)拥有独立线程。

该模式组成元素很多,适合处理大规模的问题。

 

 

 

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,