![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图解Java多线程设计模式
想看焰火吗
这个作者很懒,什么都没留下…
展开
-
第一章Single Threaded Execution模式 能通过这座桥的只有一个人
【Single Threaded Execution模式】以一个线程执行,就像独木桥同一时间内只允许一个人通行一样,该模式用于设置限制。以确保同一时间内只能让一个线程执行处理。Single Threaded Execution模式有时候也成为临界区或临界域。非线程安全的类public class Gate { private int counter=0; ...原创 2018-08-30 20:47:25 · 243 阅读 · 0 评论 -
图解Java多线程设计模式 序章1 Java线程
【Thread类的run方法和start方法】 JAVA程序运行时,最开始运行的只能是主线程。所以必须在程序中启动新线程。 启动线程时,要使用如下类(一般称为Thread类)public class MyThread extends Thread { public void run(){ for(int i=0;i<100;i++)...原创 2018-08-27 22:26:48 · 534 阅读 · 0 评论 -
第二章 Immutable模式 想破坏也破坏不了
【2.1 Immutable模式】Java.lang.String类用于表示字符串。String类中并没有修改字符串内容的方法也就是说,String的实例所表示的字符串的内容绝对不会发生变化。因此String类中的方法无需声明为synchronized。因为实例内部状态不会发生改变,所以无论String实例被多个线程访问,也无需执行线程的互斥处理。Immutable就是不变的、不发生改...原创 2018-08-31 20:04:38 · 201 阅读 · 0 评论 -
序章2 多线程程序的评价标准
【安全性 不损坏对象】对象损坏是一种比喻,实际上,对象是内存的一种虚拟事物,并不会实际损坏。对象损坏是指对象的状态和设计者的意愿不一致,通常是指对象的字段的值并非预期值。如果一个类即使被多个线程同时使用,也可确保安全性,那么这个类就称为线程安全类。例如java.util.Vector类是线程安全的类,java.util.ArrayList是非线程安全的类。某个线程是线程安全的还是非...原创 2018-08-29 17:20:28 · 196 阅读 · 0 评论 -
第三章 Guarded Suspension模式 等我准备好哦
Guarded是被守护、被保卫、被保护的意思。Suspension则是暂停的意思。如果执行现在的处理会造成问题,就让执行处理的线程进行等待。Guarded Suspension模式通过让线程等待来保证实例的安全性。示例程序 名字 说明 Request 表示一个请求的类 RequestQueue ...原创 2018-09-04 11:07:47 · 395 阅读 · 0 评论 -
第六章 Read-Write Lock模式 大家一起读没问题,但读的时候不要写
【Read-Write Lock模式】当线程读取实例的状态时,实例的状态不会发生变化。实例的状态仅在线程执行“写入”操作时才会发生变化。在Read-Write Lock模式中,读取操作和写入操作是分开考虑的。在执行读取操作之前,线程必须获取用于读取的锁。而在执行写入操作之前,线程必须获取用于希尔的锁。由于当线程执行读取操作时,实例的状态不会发生变化,所以多个线程可以同时读取。但在读取时,不可以...原创 2018-09-11 11:42:30 · 353 阅读 · 0 评论 -
第七章 Thread-Per-Message模式 这项工作就交给你了
【Thread-Per-Message模式】每个消息一个线程。为每个命令或请求分配一个线程,由这个线程来执行处理。在Thread-Per-Message模式中,消息的委托端和执行端是不同的线程。消息的委托端线程会告诉执行端线程“这项工作就交给你了” 【示例程序】 名字 说明 Main 向Host发送字符显示请求的...原创 2018-09-12 09:22:21 · 237 阅读 · 0 评论 -
第五章 生产者消费者模式
Producer 生产者,产生数据的线程Consumer 消费者,使用数据的线程【示例程序】桌子上最多可放置3个蛋糕如果桌子上已经放满3个蛋糕时糕点师还要再放置蛋糕,必须等到桌子上空出位置。客人(EaterThread)取桌子上的蛋糕吃客人按蛋糕被放置到桌子上的顺序来取蛋糕当桌子上1个蛋糕都没有时,客人若取蛋糕,必须等到桌子上新放置了蛋糕 名字 ...原创 2018-09-10 09:09:18 · 239 阅读 · 0 评论 -
第四章 Balking模式
【Backing模式】如果现在不适合执行这个操作,或者没必要执行这个操作,就停止处理,直接返回。Balking模式与Guarded Suspension模式一样,也存在守护条件。在Balking模式中,如果守护条件不成立,则立即中断处理。这与Guarded Suspension模式有所不同,因为 Guarded Suspension模式是一直等待至可以运行。【示例程序】文本工具的自动保...原创 2018-09-07 09:13:01 · 396 阅读 · 0 评论