Розбираємо різницю між
suspension і блокуванням потоку, чому файлові операції на JVM найчастіше блокувальні та як це безпосередньо впливає на вибір контексту корутин: де використовувати
Dispatchers.Default, а де —
Dispatchers.IO. На прикладах із
withContext,
async і блокувальним
Thread.sleep показуємо, як «випадковий I/O на Default» може гальмувати CPU‑завдання та як дисципліна «I/O окремо, CPU окремо» спрощує архітектуру.