В чем разница между сопрограммой и потоком?
В чем разница между сопрограммой и потоком?

Видео: В чем разница между сопрограммой и потоком?

Видео: В чем разница между сопрограммой и потоком?
Видео: Урок 33. Процессы и потоки в операционной системе 2024, Май
Anonim

Один важный разница между потоками а также сопрограммы в том, что потоки обычно планируются заранее, пока сопрограммы не. Потому что потоки могут быть перепланированы в любой момент и могут выполняться одновременно, программы, использующие потоки нужно быть осторожным при блокировке.

Таким образом, какие сопрограммы запускаются в другом потоке?

Сопрограммы нечего делать с участием Потоки . Сопрограмма методы жестяная банка выполняться по частям с течением времени, но все процессы по-прежнему выполняются одним основным Нить . Если у вас более одного логического процессора, много потоков выполняются на другой ЦП.

Кроме того, что такое поток в программировании? А нить в информатике - это сокращение от нить исполнения. Потоки способ для программа разделить (так называемое «разбиение») на две или более одновременно (или псевдо-одновременно) выполняющихся задач.

Также нужно знать, что такое Coroutine, работает ли он в новом потоке?

Что происходит с сопрограмма это то, что это запустить на главном нить каждый кадр и выполняется до тех пор, пока не будет получен yield - затем он будет приостановлен до тех пор, пока не будет выполнено условие yield. А нить эффективно бежит одновременно с другим кодом (это верно, только если у вас несколько ядер).

Когда мне следует использовать runBlocking?

На самом деле ты использовать runBlocking для вызова приостанавливающих функций в "блокирующем" коде, которые в противном случае не могли бы быть вызваны там или другими словами: вы использовать это для вызова функций приостановки вне контекста сопрограммы (в вашем примере блок, переданный в async, является функцией приостановки).

Рекомендуемые: