![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 77
老马啸西风
Github: https://github.com/houbb
Email:houbinbin.echo@gmail.com
展开
-
线程-004-线程间的协作及状态迁移
状态迁移图常言道,一图胜千言。线程协作我们前面讲到使用 synchronized 进行线程间的互斥。 但,如果我们需要更加精确地控制。比如:如果空间为空则写入,如果非空则一直等待。空间已经为空时,“通知”其他等待的线程。为此,JDK 为我们准备了 wait()、notify()、notifyAll() 等方法,用于线程的控制。等待队列所有的实例都拥有...原创 2018-02-26 16:37:19 · 39501 阅读 · 0 评论 -
轻松学习多线程-01-基础知识
基础知识下面是一些关于 java 线程的基础知识博客。需要补充知识的可以浏览一下,已经熟悉的可以直接跳过。线程-001-线程简介线程-002-基本的线程机制线程-003-线程的同步与锁线程-004-线程间的协作及状态迁移多线程代码的评定标准对于代码的评定不应该停留于好坏,而应该指出好在哪里?或者坏在哪里?下面简单地谈一下 Doug Lea 的评价标准。 如...原创 2018-02-26 17:05:40 · 39661 阅读 · 0 评论 -
轻松学习多线程-00-序章
目录导航轻松学习多线程-00-序章轻松学习多线程-01-基础知识轻松学习多线程-02-Single Threaded Execution 模式轻松学习多线程-03-Immutable 模式轻松学习多线程-004-Guarded Suspension 模式轻松学习多线程-05-Balking 模式轻松学习多线程-06-Producer Consumer 模式轻松学习多...原创 2018-02-26 13:56:53 · 43150 阅读 · 0 评论 -
轻松学习多线程-02-Single Threaded Execution 模式
Single Threaded Execution这座桥,一次只能过一个人。情景引入使用程序模拟三个人频繁通过一个只允许通过一个人的门。 每次有人通过,人数统计便会增加。 每次通过,都会校验通过者的信息。普通方式定义Gate.java定义接口。/** * 接口 * @author bbhou */public interface Ga...原创 2018-02-28 10:42:02 · 39643 阅读 · 0 评论 -
轻松学习多线程-03-Immutable 模式
Immutable想破坏也破坏不了。 Immutable 可以确保实例状态不发生改变,访问这类实例时不需要执行耗时的互斥处理,可以提升性能。实际案例定义Person.java不可变对象类/** * 不可变类 * * @author bbhou * @version 1.0.0 * @since 1.0.0 */public final class Person { priv原创 2018-03-01 17:09:57 · 39600 阅读 · 0 评论 -
轻松学习多线程-04-Guarded Suspension 模式
Guarded Suspension 模式Guarded Suspension 模式通过让线程等待保证线程的安全性。实际案例类信息概览: 类名 说明 Main.java 方法的总入口 ClientThread.java 发送请求的类 ServerThread.java 接受请求的类 RequestQueue.java ...原创 2018-03-20 20:33:42 · 39667 阅读 · 0 评论