Junior — Senior
50
Конкурентное удвоение числа с использованием только каналов
Компании, где спрашивали:
Tele Space
Условие задачи
Имеется глобальная переменная (целочисленная) и десять горутин, каждая из которых:
- Умножает эту переменную на 2.
- Останавливается, когда значение достигает или превышает 1000. Главная горутина обязана прервать работу всех остальных горутин и вывести окончательный результат.
Требования:
- Запрещено применять пакеты sync (мьютексы, WaitGroup) и sync/atomic.
- Весь механизм синхронизации и передачи данных должен быть построен исключительно на каналах.