240 发简信
IP属地:上海
  • 1_基础知识_chapter05_基础构建模块_5_同步工具类

    共同特点: 封装了一些状态, 用于决定执行同步工具类的线程继续执行还是等待常见的有闭锁、信号量、栅栏等 闭锁(1) 功能: 在闭锁到达结束状态之...

  • 1_基础知识_chapter05_基础构建模块_4_阻塞方法与中断方法

    和Thread.sleep一样, BlockingQueue的put和take方法会抛出编译器异常 InterruptedException; ...

  • 1_基础知识_chapter05_基础构建模块_3_阻塞队列和生产者-消费者模式

    BlockingQueue接口和生产者-消费者模式(1) 生产者-消费者模式消除了生产者类和消费者类之间的代码依赖性: 生产者将数据放入队列; ...

  • 1_基础知识_chapter05_基础构建模块_2_并发容器

    (1) 并发容器≠同步容器(2) 同步容器将所有对容器状态的访问都串行化,严重影响性能(3) 并发容器专门为多线程并发设计, 应该尽可能通过并发...

  • 1_基础知识_chapter05_基础构建模块_1_同步容器类

    委托是创建线程安全类的一个最有效的策略, 只需让现有的线程安全类管理所有的状态即可 Collections.synchronizedXXX是一些...

  • 1_基础知识_chapter04_对象的组合_4_在现有的线程安全类中添加功能

    很多情况下应该重用现有的类, 添加自定义的功能, 此时需要在不破坏线程安全性的情况下添加新的操作(1) 方法一: 直接修改原始的类优点: 同步策...

  • 1_基础知识_chapter04_对象的组合_3_线程安全性的委托

    (1) 从头开始构建一个类, 或将多个非线程安全的类组合为一个类时, Java监视器模式很有效(见"2_实例封闭.md");多个线程安全的类组合...

  • 1_基础知识_chapter04_对象的组合_2_实例封闭

    封闭(1) 封装简化了线程安全类的实现过程。将数据封装在对象内部, 可以将数据的访问限制在对象的方法上, 从而更容易确保线程在访问数据时总能持有...

  • 1_基础知识_chapter04_对象的组合_1_设计线程安全的类

    设计线程安全的类的三要素(1) 找出构成对象状态的所有变量(2) 找出约束状态变量的不可变条件(3) 建立对象状态的并发访问管理策略 如果对象的...