java多线程设计模式之Two-Phase Termination

Two-Phase Termination分两阶段终止的意思,它是一种先执行完终止处理再终止线程的模式 先从“操作中” 状态变为“终止处理中”状态,然后再真正的终止线程,这就是Two-Phase Termination模式该模式的要点如下:安全地终止线程(安全性)必定会终止处理(生存性)发出终止请...

2018-05-30 17:37:39

阅读数:34

评论数:0

java多线程模式之 Future模式

 Future模式假如有一个方法需要花费很长时间才能获取运行结果,那么,与其一直等待结果,不如先拿一张“提货单”。 实例类图:  Host类:创建FutureData的实例启动一个新线程(相当于制作蛋糕的蛋糕店),用于创建RealData的实例将FutureData的实例作为返回值返回给调用者其中...

2018-05-28 18:23:19

阅读数:18

评论数:0

java多线程之Worker Thread模式

Worker Thread模式(工作没来,就一直等,工作来了就干活)Worker的意思是工作的人,在worker Thread 模式中,工人线程(worker thread)会逐个取回工作并进行处理,当所有的工作全部完成后,工人线程会等待新的工作来。 下面来看看程序实例图: ClientTread...

2018-05-25 18:00:33

阅读数:83

评论数:0

java多线程模式之Thread-per-Message模式

Thread-per-Message模式(这项工作就交给你了)当你很忙碌的时候,这个时候公司楼下有个快递,于是你委托你的同事帮你拿一下你的快递,这样你就可以继续做自己的工作了在Thread-Per-Message模式中,消息的委托端和执行端是不同的线程,消息的委托端会告诉执行端线程,这个工作就交给...

2018-05-25 17:07:33

阅读数:30

评论数:0

java多线程模式之Read-Write Lock 模式

6. Read-Write Lock模式大家一起读没问题,但读的时候不要写哦 在Read-Write Lock模式中,读取操作和写入操作是分开考虑的,在执行读取操作之前,线程必须获取用于读取的锁,而在执行写入操作之前,线程必须获取用于写入的锁。由于当线程执行读取操作时,实例的状态不会发生变化,所以...

2018-05-21 18:47:32

阅读数:17

评论数:0

java多线程设计之Producer-Consumer模式

生产者安全地将数据交给消费者。producer是生产者的意思:指生产数据的线程,consumer是消费者的意思,指的是使用数据的线程。例如消费者想要获取数据,可数据还没生成,或者生成者想要交付数据,而消费者的状态还无法接受数据这样的情况。这个时候Producer-Consumer模式在生产者和消费...

2018-05-17 11:15:41

阅读数:99

评论数:0

java多线程之Balking模式

Balking模式(不需要就算了)如果现在不适合执行这个操作,或者没必要执行这个操作,就停止处理,直接返回----这就是balking模式 下面看一个相关源码的实例Data类用于表示当前数据filenname表示文件的名称,context表示写入文件的内容,changed表示context值是否被...

2018-05-14 17:25:07

阅读数:21

评论数:0

java多线程之Guarded Suspension模式

Guarded Suspension模式(等我准备好哦)在Single Threaded Execution模式中,只要有一个线程进入临界区,其他线程就无法进入,只能等待。而在Guarded Suspension模式中,线程是否等待取决于守护条件。Guarded Suspension模式是在Sin...

2018-05-14 17:16:35

阅读数:24

评论数:0

java多线程之Immutable模式

ImmutableImmutable(不可变的),Immutable角色是一个类,在这个角色中,字段的值不可修改,也不存在修改字段内容的方法。Immutable角色的实例被创建后,状态将不再发生变化。无需将Immutable角色的方法声明为synchronizedImmutable模式的类图: 何...

2018-05-12 16:59:05

阅读数:47

评论数:0

java多线程设计——线程启动,互斥,Single Threaded Execution

1.线程的启动顺序,并发,并行顺序:用于表示多个操作“依次处理”。比如把十个操作交给一个人处理,这个人就得一个一个地按顺序来处理并行:用于表示多个操作“同时处理”。比如把十个操作交给两个人处理,这两个人就会并行处理。并发:将操作打散成多个步骤,然后依次执行,就像是说一个人同时做好几件事,但是他执行...

2018-05-10 20:34:30

阅读数:22

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭