Синхронизация Java - PullRequest
       5

Синхронизация Java

0 голосов
/ 19 апреля 2011

Я немного застрял здесь, мне нужно отредактировать этот код так, чтобы поезд ждал перед замком туннеля, чтобы поезд пришел в противоположном направлении, чтобы выйти, прежде чем он сможет войти в туннель, я должен использовать встроенная синхронизация Java

public synchronized void useTunnelLock(Train train)
{


    System.out.println(train + " " + train.getDirection());
    System.out.println(train + " exiting lock");
    try
    {
        // occupy tunnel lock for 5s
        Thread.sleep(5000);
    }
    catch (InterruptedException ex)
    {
        ex.printStackTrace();
    }

    // swap direction of tunnel lock
    direction = (direction == ASCENDING)? DESCENDING : ASCENDING;
}

1 Ответ

1 голос
/ 19 апреля 2011

Кажется, что было бы разумно использовать семафор .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...