Темы: Ожидание занято - пустой цикл while [duplicate]

На этот вопрос уже есть ответ здесь:

Это голод? 2 ответа

Во время наших уроков в университете мы узнали оThreads и использовалОжидание занято метод для примераCar в ожиданииTrafficLight, Для этой задачи мы построим три класса:

TrafficLight (implements Runnable)Car (implements Runnable)Main

В нашемMain класс мы начинаем дваThreadс, один изCarи один изTrafficLight,Car имеет логический атрибутhasToWait,run() Метод в этом классе работает так, что он работает черезwhile цикл до тех пор, покаhasToWait == true, Чтобы изменить это, у нас естьnotifyCar() метод вCar класс, который используетсяTrafficLight,run() метод вTrafficLight проходит черезThread.sleep() смоделировать определенное время ожидания.

У меня все хорошо работаетно со временем у меня возникли серьезные проблемы. Покаwhile петля вCar класс пуст. Когда я положил вSystem.out.println() - которыйне пусто, работает. Но если Syso пуст, результатом не будет отображение текстаRun метод. Также это 'работает, когдаThread.sleep() вTrafficLight является0, Чем работает с пустымwhile петля.

Вот мой код:

Car.java:
package trafficlight;

public class Car implements Runnable {

    private boolean hasToWait = true;

    public void run() {
        this.crossTrafficLight();
    }

    public void crossTrafficLight() {
        while(hasToWait){ for(int i = 0; i

Ответы на вопрос(2)

Ваш ответ на вопрос