个人简介

Echo Blog


江湖无名 安心练剑
  • 轻松学习多线程 10-Read Write Lock 读写锁模式
    Read Write Lock 模式 Read Write Lock 模式就是将内容的读取和写入分开进行处理。 因为数据的互斥需要牺牲性能,读的时候可以互不影响,但是读的时候禁止写。 实际案例 类信息概览: 类名 说明 Main.java 方法的总入口 ...
    2019-01-19 03:21:15 | Thread
  • 轻松学习多线程 09-Producer Consumer 生产者消费者模式
    Producer Consumer 模式 Producer Consumer 模式是指一个负责生产,一个负责消费。 核心是生产者安全地将数据交给消费者。 实际案例 类信息概览: 类名 说明 Main.java 方法的总入口 ConsumerCakeThr...
    2019-01-19 03:21:15 | Thread
  • 轻松学习多线程 08-balking 不需要就算了
    Balking 模式 Balking 模式是指如果不适合执行这个操作,或者没必要执行这个操作,就停止操作,直接返回。 实际案例 类信息概览: 类名 说明 Main.java 方法的总入口 SaveThread.java 保存线程 ...
    2019-01-19 03:21:15 | Thread
  • 轻松学习多线程 07-Guarded Suspension 模式 等待唤醒
    Guarded Suspension 模式 Guarded Suspension 模式通过让线程等待保证线程的安全性。 实际案例 类信息概览: 类名 说明 Main.java 方法的总入口 ClientThread.java 发送请求的类 ...
    2019-01-19 03:21:15 | Thread
  • 轻松学习多线程 06-Immutable 不可变模式
    Immutable 想破坏也破坏不了。 Immutable 可以确保实例状态不发生改变,访问这类实例时不需要执行耗时的互斥处理,可以提升性能。 实际案例 定义 Person.java 不可变对象类 /** * 不可变类 * * @author bbhou * @version 1.0.0 * @since 1.0.0 */ public final clas...
    2019-01-19 03:21:15 | Thread
  • 轻松学习多线程 05-Single Threaded Execution 模式
    # Single Threaded Execution 这座桥,一次只能过一个人。 情景引入 使用程序模拟三个人频繁通过一个只允许通过一个人的门。 每次有人通过,人数统计便会增加。 每次通过,都会校验通过者的信息。 普通方式 定义 Gate.java 定义接口。 /** * 接口 * @author bbhou */ public interface Gate ...
    2019-01-19 03:21:15 | Thread
  • 轻松学习多线程 04-线程间的协作及状态迁移 wait notify
    状态迁移图 常言道,一图胜千言。 线程协作 我们前面讲到使用 synchronized 进行线程间的互斥。 但,如果我们需要更加精确地控制。比如: 如果空间为空则写入,如果非空则一直等待。 空间已经为空时,“通知”其他等待的线程。 为此,JDK 为我们准备了 wait()、notify()、notifyAll() 等方法,用于线程的...
    2019-01-19 03:21:15 | Thread
  • 轻松学习多线程 03-多线程的同步与锁
    问题的出现 上代码 public class Num { private int num; public int getNum() { return num; } public int add(int num) { this.num += num; return this.num; } } 测...
    2019-01-19 03:21:15 | Thread