HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: kotlin, scope builder</p>
1 <p>Теги: kotlin, scope builder</p>
2 <p>В дополнение к<em>CoroutineScope</em>, которая предоставляется различными билдерами, вы можете, используя<em>coroutineScope</em>, объявить собственную область видимости. Этот билдер создает область видимости и не завершается до тех пор, пока не завершатся все дочерние сопрограммы, которые запущены.</p>
2 <p>В дополнение к<em>CoroutineScope</em>, которая предоставляется различными билдерами, вы можете, используя<em>coroutineScope</em>, объявить собственную область видимости. Этот билдер создает область видимости и не завершается до тех пор, пока не завершатся все дочерние сопрограммы, которые запущены.</p>
3 <p>При этом<em>coroutineScope</em>и<em>runBlocking</em>могут выглядеть одинаково, так как они: 1) ожидают завершения всех операций внутри своего блока; 2) ожидают завершения всех дочерних сопрограмм, которые запущены.</p>
3 <p>При этом<em>coroutineScope</em>и<em>runBlocking</em>могут выглядеть одинаково, так как они: 1) ожидают завершения всех операций внутри своего блока; 2) ожидают завершения всех дочерних сопрограмм, которые запущены.</p>
4 <p>Главное отличие - метод<em>runBlocking</em>блокирует текущий поток, тогда как как<em>coroutineScope</em>лишь просто приостанавливает работу, освобождая основной поток для иных целей. Благодаря этой разнице,<em>runBlocking</em>считается обычной функцией, тогда как<em>coroutineScope</em>- это функция приостановки.</p>
4 <p>Главное отличие - метод<em>runBlocking</em>блокирует текущий поток, тогда как как<em>coroutineScope</em>лишь просто приостанавливает работу, освобождая основной поток для иных целей. Благодаря этой разнице,<em>runBlocking</em>считается обычной функцией, тогда как<em>coroutineScope</em>- это функция приостановки.</p>
5 <p>Пример ниже демонстрирует вышесказанное:</p>
5 <p>Пример ниже демонстрирует вышесказанное:</p>
6 <p>Также следует учесть, что непосредственно после сообщения "Task from coroutine scope" (когда ожидается выполнение вложенного<em>launch</em>) происходит выполнение и выдача "Task from runBlocking", и это при том, что выполнение<em>coroutineScope</em>еще не завершилось.</p>
6 <p>Также следует учесть, что непосредственно после сообщения "Task from coroutine scope" (когда ожидается выполнение вложенного<em>launch</em>) происходит выполнение и выдача "Task from runBlocking", и это при том, что выполнение<em>coroutineScope</em>еще не завершилось.</p>
7 <p><em>По материалам https://kotlinlang.ru/</em></p>
7 <p><em>По материалам https://kotlinlang.ru/</em></p>
8  
8