小编ger*_*tom的帖子

以原子方式执行代码块

你会如何回答以下问题?

java类的方法包含必须以原子方式执行的代码块.使用适当的伪代码解释如何确保以原子方式执行此代码块

我会通过制作方法来实现这一点吗?

public final AtomicInteger x = new AtomicInteger(0);
Run Code Online (Sandbox Code Playgroud)

然后确保返回get语句:

x.get()
Run Code Online (Sandbox Code Playgroud)

如果我想增加x的值,我会这样做吗?

x.getAndIncrement();
Run Code Online (Sandbox Code Playgroud)

java atomic thread-safety

10
推荐指数
1
解决办法
2万
查看次数

多个线程如何执行我的方法?

嘿,我很抱歉在这里问这个问题,但是我的讲师不会帮助我解决过去的试卷问题.多个线程如何执行我的oneTimeOnly()方法?我需要采取哪些步骤使其线程安全/仅由一个线程执行一次?

public class ExampleClass {
    private volatile boolean flag = false;
    public void someOperation() {
        if(flag != true) {
            oneTimeOnly();
        }
        flag = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading thread-safety

1
推荐指数
1
解决办法
175
查看次数

标签 统计

java ×2

thread-safety ×2

atomic ×1

multithreading ×1