- сколько потоков может быть задействовано при работе с сопрограммами?
если мы будем использовать только Dispatchers.Main, будет ли задействован только один поток (однопоточный)? если мы будем использовать Dispatchers.IO, возможно ли задействование нескольких потоков (максимум 64 потока)? - какова будет польза Почему стоит использовать Dispatchers.Main? В большинстве статей, которые я читал, говорится, что все работы, связанные с пользовательским интерфейсом, должны быть представлены в Dispatchers. Основные и фоновые работы (например, чтение/запись данных из/в базу данных, сетевые запросы) должны быть представлены в Dispatchers.Main. Dispatchers.IO, но я не понимаю, какие работы, связанные с пользовательским интерфейсом, присутствуют в Dispatchers.Main, поскольку работа, связанная с пользовательским интерфейсом, на самом деле не требует сопрограмм (с Dispatchers.Main)
- мы используем функцию susepnd с сопрограммами для некоторых работ, которые могут заблокировать текущий поток. Например, чтение данных с диска, сетевые запросы или интенсивные вычисления и т. д. если эти работы выполняются функцией приостановки, что/кто отвечает, когда эти функции приостанавливаются? Я думаю, что-то должно быть в любом случае работайте над этими функциями приостановки. это будут фоновые потоки, отвечающие за следующие?
- чтение/запись данных из/в базу данных
- ожидание сетевого запроса
- вычисления высокой интенсивности
Заранее благодарю.
Подробнее здесь: https://stackoverflow.com/questions/699 ... read-could