сколько потоков может быть задействовано при работе с сопрограммами?
если мы будем использовать только Dispatchers.Main, будет ли задействован только один поток (однопоточный)? если мы будем использовать Dispatchers.IO, возможно ли задействование нескольких потоков (максимум 64 потока)?
какова будет польза Почему стоит использовать Dispatchers.Main? В большинстве статей, которые я читал, говорится, что все работы, связанные с пользовательским интерфейсом, должны быть представлены в Dispatchers. Основные и фоновые работы (например, чтение/запись данных из/в базу данных, сетевые запросы) должны быть представлены в Dispatchers.Main. Dispatchers.IO, но я не понимаю, какие работы, связанные с пользовательским интерфейсом, присутствуют в Dispatchers.Main, поскольку работа, связанная с пользовательским интерфейсом, на самом деле не требует сопрограмм (с Dispatchers.Main)
мы используем функцию susepnd с сопрограммами для некоторых работ, которые могут заблокировать текущий поток. Например, чтение данных с диска, сетевые запросы или интенсивные вычисления и т. д. если эти работы выполняются функцией приостановки, что/кто отвечает, когда эти функции приостанавливаются? Я думаю, что-то должно быть в любом случае работайте над этими функциями приостановки. это будут фоновые потоки, отвечающие за следующие?
чтение/запись данных из/в базу данных
ожидание сетевого запроса
вычисления высокой интенсивности
пожалуйста, укажите, если мои формулировки или вопросы неверны.
У меня есть пара вопросов по сопрограммам Kotlin. [list] [*][b]сколько потоков может быть задействовано при работе с сопрограммами?
если мы будем использовать только Dispatchers.Main, будет ли задействован только один поток (однопоточный)? если мы будем использовать Dispatchers.IO, возможно ли задействование нескольких потоков (максимум 64 потока)?
[*]какова будет польза Почему стоит использовать Dispatchers.Main?[/b] В большинстве статей, которые я читал, говорится, что все работы, связанные с пользовательским интерфейсом, должны быть представлены в Dispatchers. Основные и фоновые работы (например, чтение/запись данных из/в базу данных, сетевые запросы) должны быть представлены в Dispatchers.Main. Dispatchers.IO, но я не понимаю, [b]какие работы, связанные с пользовательским интерфейсом, присутствуют в Dispatchers.Main, поскольку работа, связанная с пользовательским интерфейсом, на самом деле не требует сопрограмм (с Dispatchers.Main)[/b]
[*]мы используем функцию susepnd с сопрограммами для некоторых работ, которые могут заблокировать текущий поток. Например, чтение данных с диска, сетевые запросы или интенсивные вычисления и т. д. [b]если эти работы выполняются функцией приостановки, что/кто отвечает, когда эти функции приостанавливаются?[/b] Я думаю, что-то должно быть в любом случае работайте над этими функциями приостановки. это будут фоновые потоки, отвечающие за следующие?
[/list] [list] [*]чтение/запись данных из/в базу данных [*]ожидание сетевого запроса [*]вычисления высокой интенсивности [/list] пожалуйста, укажите, если мои формулировки или вопросы неверны.