Я пытаюсь создать несколько потоков, используя цикл for в java, чтобы они использовали один и тот же счетчик переменных. Я делаю что-то неправильно, потому что я хочу, чтобы счетчик увеличивался для каждого потока.Как создать несколько потоков с использованием цикла в 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' будет считать каждый поток, class метод '#run()'? – Tom
Нет, в настоящее время он подсчитывает метод запуска (выполнения) одного объекта «Создать», для достижения этого на уровне класса вам необходимо сделать «counter' static». (или в вашем основном методе: просто создайте «Создать» для всех потоков.) – xerx593
Хорошо, что вы это знаете, так как насчет редактирования кода в соответствии с требованиями OP? – Tom