Почему переменная класса stati c не увеличивается за пределами области действия метода run ()? *
Я пробовал распечатать значения переменной, только чтобы прийти к заключению что он не увеличивается за пределами области действия метода run (). Ниже приведен фрагмент кода. Любая помощь будет принята с благодарностью!
static int turn = 0;
private int playerNumber;
public Player(int playerNumber) {
this.playerNumber = playerNumber;
}
public static void increaseTurnCount(){
turn += 1;
turn %= 4;
}
public void run() {
synchronized (this) {
while (this.playerNumber != turn) {
try {
this.wait();
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println(playerNumber + " " + turn);
increaseTurnCount();
notifyAll();
}
}
}
public class MyGame {
public static void main(String ar[]) throws Exception{
// Runnable job = new Runnable();
int playerNum = 4;
Player player[] = new Player[4];
for (int i = 0; i < playerNum; i++) {
player[i] = new Player(i);
}
for (int i = 0; i < playerNum; i++)
player[i].start();
for (int i = 0; i < playerNum; i++)
player[i].join();
}
}```