线程安全性

什么似线程安全性

多个线程访问一个类时,这个类始终能表现出正确的行为,这个类就是线程安全的

  • 无状态的对象是线程安全的,如但servlet处理请求时没有保存一些信息

    原子性

  • 竞态条件

    • 先检查后执行 比如延迟初始化时 会先判断是否为null
  • 复合操作

  • 可以使用 线程安全类 如 atomic 包中的 类型 来确保线程安全

加锁机制

有些情况下 在一个原子操作中 需要多个变量同时 更新,这样 线程安全类就不满足要求了

  • 内置锁

    • 同步代码块 synchronized block
  • 重入

    • 内置锁是可以重入的??

      用锁来保护状态