Using the synchronized keyword in coroutines?
Coroutine-ы отличаются по своему механизму работы от потоков, соответственно требует отличные от Java механизмы для решения стандартных задач, например
synchronized или ReentrantLock. На замену им рекомендуется использовать Channel или Mutex.