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

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

Переменная score и Mutex. Три корутины по 200 приращений под ручным замком с finally. После ожидания выведите итоговый счет.

Баланс wallet в массиве из одного Int. Две задачи переводят по 5 монет через блок под withLock. Напечатайте сумму после joinAll.

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

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

Общий Semaphore(2) и функция с паузой 70 мс внутри участка. Семь запусков печатают номер и дожидаются конца всех через coroutineScope или joinAll.

Счетчик errors и замок. Две корутины чередуют delay и приращение только внутри withLock. Итог после 100 шагов на задачу равен 200.

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

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