Java多线程模式

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

 

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

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

 

2,Immutable ——不可破坏的

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

 

9,Future ——先给您提货单

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

 

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

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

 

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

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

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

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

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

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值