如何使用AtomicBoolean以及该类的用途是什么?

推荐答案

当多个线程需要判断和更改布尔值时.例如:

if (!initialized) {
   initialize();
   initialized = true;
}

这不是线程安全的.您可以使用AtomicBoolean进行修复:

if (atomicInitialized.compareAndSet(false, true)) {
    initialize();
}

Java相关问答推荐

一般类型和kotlin阴影Java函数的问题

在AnyLogic中增加变量计数

流迭代列表<;对象>;上的NoSuchElementException

Java FX中的河内之塔游戏-在游戏完全解决之前什么都不会显示

在bash中将数组作为Java程序的参数传递

AssertJ Java:多条件断言

名称冲突具有相同的擦除

如何在运行时动态创建表(使用Java、JPA、SprringBoot)

Mapstruct不能正确/完全映射属性

当返回Mono<;Something>;时,不会调用Mono<;void>;.flatMap

我可以在MacOS上使用什么Java函数来在适当的设备上以适当的音量播放适当的alert 声音?

MimeMessage emlMessage=new MimeMessage(Session,emlInputStream);抛出InvocationTargetException

如何在代码中将行呈现在矩形前面?

try 使用Spring集成和MySQL实现发件箱模式时,锁定等待超时

二进制数据的未知编码/序列化

基于配置switch 的@Controller的条件摄取

如何调整JButton的大小以适应图标?

接受类及其接口的Java类型(矛盾)

整数->;双取消框,但双->;int不';t开箱.为什么?

Java泛型方法重载