JAVA编程 题目:一个启动十个线程的程序,每一线程给一个初值为0的变量sum加1。

2025-02-23 12:52:16
推荐回答(4个)
回答1:

public class TestThread {

public static int sum = 0;

class Add implements Runnable {

@Override
public void run() {
sum += 1;
System.out.println(sum);
}

}

public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
new Thread(new TestThread().new Add()).start();
}
}

}

我循环了10次不就是10个线程都开启了吗?

回答2:

public class Test {

public static void main(String[] args) {

R r = new R();

for(int i = 0; i < 10; i++){
r.run();
}

}
}

class R implements Runnable{

private int sum = 0;

public void run() {
System.out.println(sum++);
}

}

---------------
0
1
2
3
4
5
6
7
8
9

回答3:

一楼的代码就可以了
@Override是重载的意思

回答4:

一楼用的内部类,偶是菜鸟,一直不敢用,佩服啊,弱弱的问问@Override是什么意思啊,既然是内部类,sum属性为public是否有些不妥啊
二楼题意理解错了,sum变量的位置不对呀