在 Java 中,线程安全需要保证以下三个核心特性:
1. 原子性(Atomicity)
原子性是指一个操作是不可分割的,要么全部执行成功,要么全部不执行。如果一个操作是原子的,那么在多线程环境下,不会出现部分执行的情况。
如何保证原子性:
- 使用
synchronized关键字。 - 使用
java.util.concurrent.atomic包中的原子类(如AtomicInteger、AtomicReference等)。 - 使用锁机制(如
ReentrantLock)。
示例:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicityExample {
private AtomicInteger counter = new AtomicInteger(0);
public void increment() {
counter.incrementAndGet(); // 原子操作
}
public int getCounter() {
return counter.get();
}
public static void main(String[] args) throws InterruptedException {
AtomicityExample example = new AtomicityExample();
Thread t1 = new Thread(() -> {

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



