写出良好的Java并发程序读书笔记(1)

版权声明:欢迎转载,请注明出处: https://blog.csdn.net/u014179251/article/details/86162565

一些导致线程不安全的因素

  • 指令重排序
  • 线程共享内存
  • 寄存器中涉及缓存部分
  • …待更新
    线程活跃性关注的是死锁等问题。

一些可能被忽视的多线程框架、组件等(语言内部设计机制)

  • AWT、SWING
  • Servlet
  • RMI(远程调用)
  • … 待更新

只有满足如下状态,一个对象才是不可变的

  • 它的状态不能再创建后再被修改;
  • 所有域都是final类型(注意:都声明为final类型任然可以是可变的,因为final域可以获得一个到可变对象的引用);
  • 并且,它被正确创建(创建时间没有发生this引用的逸出)

设计线程安全类的过程应该包括下面3个基本要素:

  • 确定对象状态是由哪些变量构成的(是什么);
  • 确定限制状态变量的不变约束(为什么);
  • 制定一个管理并发访问对象状态的策略(怎么办)

猜你喜欢

转载自blog.csdn.net/u014179251/article/details/86162565
今日推荐