多线程设计模式

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

第2章 Immutable——想破坏它也没办法

第3章 Guarded Suspension——要等到我准备好喔

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

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

第6章 Read-Write Lock——大家想看就看吧,不过看的时候不能写喔

第7章 read-Per-Message——这个工作交给你了

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

第9章 Future——先给您这张提货单

第10章 Two-Phase Termination——快把玩具收拾好,去睡觉吧

第11章 Thread-Specific Storage——每个线程的保管箱

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

多线程设计模式

时间: 2024-10-13 20:14:10

多线程设计模式的相关文章

java多线程设计模式

java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了.一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程. Thread类是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法: Thread t = new Thread(); t.start(); start()方法是

理解多线程设计模式(转)

多线程设计模式:1.Single Threaded Execution Pattern   [同一时刻只允许一个线程操作] 比喻:三个挑水的和尚,只能同一时间一个人过桥,不然都掉河里喂鱼了.总结:在多个线程同时要访问的方法上加上synchronized关键字. 2.Immutable Pattern   [变量赋值一次后只能读取,不能改变.]   比喻:一夫多妻制,多个妻子共享一个丈夫.一旦赋值,任何一个妻子不能更改共享的 husband为其它人.   总结:将多线程共享的变量用final关键字

理解多线程设计模式

多线程设计模式:1.Single Threaded Execution Pattern   [同一时刻只允许一个线程操作]        比喻:三个挑水的和尚,只能同一时间一个人过桥,不然都掉河里喂鱼了.   总结:在多个线程同时要访问的方法上加上synchronized关键字. 2.Immutable Pattern   [变量赋值一次后只能读取,不能改变.]   比喻:一夫多妻制,多个妻子共享一个丈夫.一旦赋值,任何一个妻子不能更改共享的 husband为其它人.   总结:将多线程共享的变

多线程设计模式总结(一)

并发程序的编程与设计是一个难点,也是程序员必须掌握的一个点.工作之后写的第一个软件里面也有并发编程,当时在设计并发这块感觉好复杂,最后的实现感觉也有点乱. 当时就想好好学习一下并发编程的设计,但是一直没有时间.今年看了两本并发编程相关的书,<多线程设计模式>和<Java并发编程与实战>.本想着和设计模式一样,多线程设计模式也能提供很多模式可供套用,但是实际情况并不是如此,多线程设计模式讲的东西多为基础,并且内容也已经有点过时了,市面上<多线程设计模式>这本书也已经很难买

多线程设计模式总结(三)

接上一篇<多线程设计模式总结(二)>,这篇博客再聊一下最复杂的Active Object模式 12)Active Object Active Object模式,也称为Actor模式.Active Object即主动对象,它不仅拥有独立线程,并且可以从外部接收异步消息,并能配合需要返回处理结果.这里的Active Object不是指一个对象,而是指将一群对象组织起来,对外表现为一个整体,这个整体拥有独立线程,并能接收外部的异步消息,这个整体(Active Object)处理完异步消息后还可以返回

多线程设计模式总结(二)

接上一篇<多线程设计模式总结(一)>,这篇博客再介绍5个多线程设计模式 7)Thread-Per-Message 实现某个方法时创建新线程去完成任务,而不是在本方法里完成任务,这样可提高响应性,因为有些任务比较耗时. 示例程序: 1 2 3 4 5 6 7 8 9 10 public class Host { private final Handler _handler=new Handler(); public void request(final int count, final char

多线程:多线程设计模式(一):总体介绍

多线程设计模式(一):总体介绍 多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future.Master-Worker.Guard Susperionsion.不变.生产者-消费者 模式:jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池:    锁(分为内部锁.重入锁.读写锁).ThreadLocal.信号量等在并发控制中发挥着巨大的作用. 多线程设计模式:1.Single Threaded Execution Pattern   [同一时刻只允许一个线程操作

Java多线程设计模式(4)线程池模式

前序: Thread-Per-Message Pattern,是一种对于每个命令或请求,都分配一个线程,由这个线程执行工作.它将“委托消息的一端”和“执行消息的一端”用两个不同的线程来实现.该线程模式主要包括三个部分: 1,Request参与者(委托人),也就是消息发送端或者命令请求端 2,Host参与者,接受消息的请求,负责为每个消息分配一个工作线程. 3,Worker参与者,具体执行Request参与者的任务的线程,由Host参与者来启动. 由于常规调用一个方法后,必须等待该方法完全执行完毕

Java多线程设计模式wait和notify机制总结

Java多线程设计模式wait和notify机制总结: wait和notify方法必须写在synchronized方法内,即在调用wait和notify方法前,需先获得对象锁: 调用wait方法则释放锁:wait方法返回后,需获得对象锁才可继续执行下面语句: 多个线程wait时,若另外的线程调用notify方法后,由JVM决定唤醒其中一个线程: 多个线程wait时,若另外的线程调用notifyAll方法,则唤醒所有wait线程,但是只有其中一个线程可以获得对象锁,执行wait下面的语句,其余的等