线程安全

  • “Behaves correctly” 不违反spec、保持RI
  • “Regardless of how threads are executed” 与多少处理器、OS如何调度线程均无关
  • “Without additional coordination” 不需要在spec中强制要求client满足某种“线程安全”的义务
    例如:Iterator是线程不安全的。
    一、Strategy 1: Confinement
    限制数据共享。 核心思想:线程之间不共享 mutable 数据类型,要避免全局变量。
    反例1如下:
    10.2 线程安全
    两个线程同时调用getInstance(),可能创建出两个PinballSimulator object。
    10.2 线程安全
    例如执行语句顺序为:1 1 2 2 3 3
    反例2如下:
    10.2 线程安全
    原因:待分析

相关文章:

  • 2021-09-26
  • 2021-11-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
猜你喜欢
  • 2021-09-03
  • 2021-11-29
  • 2021-07-29
  • 2021-07-12
  • 2021-11-27
相关资源
相似解决方案