• 三条件
    • 两个处理共享变量
    • 一个修改中
    • 另一个介入
  • 没有共享
    • Multics(1969年)进程共享内存
      • Multics基于PL/I和汇编编写
    • UNICS(1970年)进程不共享内存
    • UNIX10年后,线程共享进程内存
    • Actor模型(1973年), 不共享内存,传递消息,异步
      • Erlang, Scala
  • 共享内存但不修改
    • haskell所有变量,c++ const变量, scala val变量, java immutable(private属性没有setter)
  • 不介入修改