您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
Java Atomic 类是 Java 并发包(java.util.concurrent)中的一个重要部分,它提供了一组原子操作,可以在多线程环境下保证数据的一致性和可见性
下面是一个使用 AtomicInteger 解决多线程问题的示例:
import java.util.concurrent.atomic.AtomicInteger;
public class Counter {
private AtomicInteger count = new AtomicInteger(0);
public void increment() {
count.incrementAndGet(); // 原子性地递增计数器
}
public int getCount() {
return count.get(); // 原子性地获取计数器的值
}
public static void main(String[] args) throws InterruptedException {
Counter counter = new Counter();
// 创建两个线程,每个线程递增计数器 1000 次
Thread t1 = new Thread(() -> {
for (int i = 0; i < 1000; i++) {
counter.increment();
}
});
Thread t2 = new Thread(() -> {
for (int i = 0; i < 1000; i++) {
counter.increment();
}
});
// 启动线程
t1.start();
t2.start();
// 等待线程执行完成
t1.join();
t2.join();
// 输出计数器的值,应该是 2000
System.out.println("Counter: " + counter.getCount());
}
}
在这个示例中,我们使用 AtomicInteger 类型的 count
变量来存储计数器的值。由于 AtomicInteger 提供了原子性的操作,因此在多线程环境下,我们可以确保计数器的值是正确的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。