...个线程的程序,每一线程给一个初值为0的变量sum加1。
发布网友
发布时间:2024-03-16 03:31
我来回答
共4个回答
热心网友
时间:2024-03-24 10:19
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
热心网友
时间:2024-03-24 10:24
一楼用的内部类,偶是菜鸟,一直不敢用,佩服啊,弱弱的问问@Override是什么意思啊,既然是内部类,sum属性为public是否有些不妥啊
二楼题意理解错了,sum变量的位置不对呀
热心网友
时间:2024-03-24 10:25
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个线程都开启了吗?
热心网友
时间:2024-03-24 10:21
一楼的代码就可以了
@Override是重载的意思