我正尝试在java中使用for循环创建多个线程,以便它们共享相同的变量计数器。我做错了什么,因为我想让计数器为每个线程增加。如何在java中使用循环创建多个线程
这是输出为以下代码:
计数器:1
计数器:1
计数器:1
public static void main(String[] args) {
int numThreads = 3;
for (int i = 0; i < numThreads; i++) {
Create c = new Create();
Thread thread = new Thread(c);
thread.start();
}
}
public class Create implements Runnable {
int counter = 0;
public void run() {
counter++;
System.out.println("Counter: " + counter);
}
}
这'counter'会计算每一个线程类#run()'方法? – Tom
不,目前它计算一个'Create'对象的运行方法(执行),为了在课堂上达到这个目的,你需要使'counter'变成静态的。 (或者在你的主要方法中:为所有线程创建一个'Create') – xerx593
好你知道吗,那么如何编辑你的代码来匹配OP的要求呢? – Tom