Java并发:目录

目录

并发挑战

  • 并发编程的挑战
  • 并发基础概述
    • 如何设计解决并发问题

并发原理

  • 硬件
    • CPU
    • JMM级别
    • 并发机制的JMM原理
  • 并发思想
    • 线程机制
    • 线程安全性
      • 线程安全
      • 安全发布对象
    • 线程协作、调度
    • 死锁

并发实现

  • 线程池
  • JUC
  • 并发Start
    • 各种工具的场景与应用
    • 简单的并发类介绍
  • Java实现(分两个)
    • Java 并发类库的使用
    • 解决一些实际场景的问题
  • 实战案例

并发案例

  • 高并发

并发工具

总结

类设计

  • Java并发关注的主要是由于数据共享而导致的不一致问题。可变状态是至关重要的:
    • 同步只是保证共享数据在争用时的正确性的手段。
    • 所有的并发问题都可以归结为如何协调对并发状态的访问。可变状态越少,越容易确保线程安全性。
  • 有些程序出现数据不一致的问题并不重要(个人猜想),要根据业务场景判断。
  • 封装有助于管理复杂性。
    • 将数据封装在对象中,更易于维持不变性条件,将同步机制封装在对象中,更易于遵循同步策略。
  • 执行复合操作期间要持有锁、当保护同一个不变性条件中的所有变量时要持有锁。

项目设计

  • 并发的设计在于设计任务,即Runnable、Callable、Future:
    • 查看JUC-Executor。

参考