相关疑难解决方法(0)

您如何思考和预测这样的线程问题的输出?

我正在准备SCJP,多线程一直是我最讨厌的领域,主要是因为我不知道如何查看多线程代码并完成它.到目前为止,我的方法是用英语写下每个线程中可能发生的事情,并测试一些线程随机相互交叉的情况,这是一个非常重要且耗时且耗时的方法.所以我想看看专业人士会怎么做.你是否愿意阅读下面的代码(这是给我带来麻烦的最新问题)并记下你脑子里的内容(只有代码相关的东西,请:),当你计算出可能的输出时?问题附带的选择是最终的.我正在寻找的不是我所拥有的解决方案,而是如何在考试中有效地达到解决方案.

是的,我知道这个问题没有一个确切的答案等等.接受投票的答案最明确,最容易模仿,好吧:)

感谢大家!

问题:这些答案中哪一个是可能的输出?

public class Threads1 {

    int x = 0;

    class Runner implements Runnable {

        public void run() {
            int current = 0;
            for (int i = 0; i < 4; i++) {
                current = x;
                System.out.print(current + ", ");
                x = current + 2;
            }
        }
    }

    public static void main(String[] args) {
        new Threads1().go();
    }

    public void go() {
        Runnable r1 = new Runner();
        new Thread(r1).start();
        new Thread(r1).start();
    }
}
Run Code Online (Sandbox Code Playgroud)

选择(选择所有适用的选项):

A. 0,2,4,4,6,8,10,6,

B. 0,2,4,6,8,10,2,4,

C. …

java multithreading

9
推荐指数
2
解决办法
2595
查看次数

标签 统计

java ×1

multithreading ×1