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

Практика синхронизации в Java

Переменная score и synchronized метод addPoint(). Три потока по 200 вызовов. После ожидания выведите итоговый счет.

Баланс wallet в объекте с полем coins. Две задачи переводят по 5 монет через блок synchronized (gate). Напечатайте сумму после join.

ReentrantLock и счетчик errors. Две задачи чередуют Thread.sleep и приращение только внутри lock с finally. Итог после 100 шагов на задачу равен 200.

Семафор на 2 разрешения. Пять потоков выводят "tap", ждут 40 мс и освобождают слот в finally. Убедитесь, что одновременно активны не более двух.

Класс Furnace с полем нагрева и synchronized методом, который повышает температуру на 3. Четыре параллельных вызова должны дать 12 к базовому нулю.

CountDownLatch(5) и семь запусков, из которых пять печатают номер и вызывают countDown(). Главный поток после await() выводит "batch done".

Класс Dock с семафором на два причала. Метод погрузки ждет слот, печатает имя груза, делает паузу 50 мс и освобождает место. Проверьте четыре груза с разными метками.

AtomicInteger и 3 потока по 250 addAndGet(1). Сверьте результат с 750 без ручного замка.

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