Java并发编程实战 第2章 线程安全性

2023-08-05  本文已影响0人  kaiker

1、什么是线程安全性

当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类线程安全。

2、原子性

由于不恰当的执行时序而出现不正确的结果是一种非常重要的情况,它有一个正式的名字:竞态条件。

3、加锁机制

3.1 内置锁

3.2 重入

public class Widget {
    public synchronized void doSomething() {}
}

public class LoggingWidget extends Widget {
    public synchronized void doSomething() {
        super.doSomething();
    }
}

4、用锁来保护状态

对于每个包含多个变量的不变性条件,其中涉及的所有变量都需要由同一个锁来保护。

5、活跃性与性能

上一篇 下一篇

猜你喜欢

热点阅读