Ответы пользователя по тегу Многопоточность
  • Многопоточность vs асинхронность?

    pazukdev
    @pazukdev
    Java Dev
    Многопоточность vs асинхронность

    Ресторан. Клиент заказал яичницу и гренки. 

    1. Синхронное выполнение: даем задание 1 повару. Он сначала делает яичницу. После того как она готова он приступает к гренкам.

    2. Асинхронное выполнение (многопоточность): даем задание 2 поварам. Они приступают условно одновременно. Один делает яичницу, второй гренки и оба конфликтуют из-за доступа к общим ресурсам (перцу, соли, сковородке).

    3. Асинхронное выполнение (1 поток): даем задание 1 повару. Он ставит на плиту яичницу и ставит таймер. Ставит гренки и тоже ставит таймер. Пока таймеры не сработали, чтобы не терять время, прибирает кухню. После того как сработают оба таймера - отдает заказ.
    Ответ написан
    Комментировать
  • Как связаны Thread.join() и InterruptedException?

    pazukdev
    @pazukdev
    Java Dev
    1. Ставить catch блок нужно потому, что метод join() throws InterruptedException
    2. Метод join кидает InterruptedException в случае, если вызывающий его поток interrupted:
    Thread.currentThread().interrupt();
    t.join(); // will throw InterruptedException
    Ответ написан
    Комментировать