相关疑难解决方法(0)

为什么读取volatile并写入字段成员在Java中不可扩展?

观察以下用Java编写的程序(完整的runnable版本如下,但程序的重要部分在下面的代码片段中):

import java.util.ArrayList;



/** A not easy to explain benchmark.
 */
class MultiVolatileJavaExperiment {

    public static void main(String[] args) {
        (new MultiVolatileJavaExperiment()).mainMethod(args);
    }

    int size = Integer.parseInt(System.getProperty("size"));
    int par = Integer.parseInt(System.getProperty("par"));

    public void mainMethod(String[] args) {
        int times = 0;
        if (args.length == 0) times = 1;
        else times = Integer.parseInt(args[0]);
        ArrayList < Long > measurements = new ArrayList < Long > ();

        for (int i = 0; i < times; i++) {
            long start = System.currentTimeMillis();
            run();
            long end …
Run Code Online (Sandbox Code Playgroud)

java concurrency assembly jvm

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

标签 统计

assembly ×1

concurrency ×1

java ×1

jvm ×1