Ответ
Нет, synchronized блоки работают только с потоками, но не с корутинами. Для синхронизации корутин используйте мьютексы или другие примитивы из kotlinx.coroutines.sync.
Пример с Mutex:
val mutex = Mutex()
suspend fun safeUpdate() {
mutex.withLock {
// критическая секция
}
}
Корутины могут выполняться в одном потоке, поэтому synchronized не гарантирует безопасность. Mutex же приостанавливает корутину вместо блокировки потока, что более эффективно.