Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpThPrm 169 of 322 menu
◀ ▶

Практика многопоточности в Java

Задачи опираются на приёмы раздела: Runnable и start, join, sleep, getState, interrupt, setDaemon.

Запустите два потока: первый выводит "A", второй "B". Вызовите join для обоих и напечатайте "end". Убедитесь, что "end" появляется только после "A" и "B".

Создайте массив из 5 потоков. Каждый спит 50 мс и пишет свой индекс. После всех join выведите сумму индексов 0..4 (ожидается 10).

Запустите worker с sleep(200). Через 30 мс выведите его getState(), затем дождитесь join и выведите TERMINATED через сравнение с Thread.State.TERMINATED.

Worker в цикле увеличивает счётчик до 1_000_000, если не прерван. Прервите его из main через 5 мс, дождитесь join и выведите финальное значение счётчика (оно должно быть меньше миллиона).

Запустите daemon, который раз в 100 мс печатает "ping". Главный поток спит 350 мс, печатает "done" и завершается. Проверьте, что программа выходит без ручного interrupt daemon.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить