Kakšna je razlika med korutino in nitjo?
Kakšna je razlika med korutino in nitjo?

Video: Kakšna je razlika med korutino in nitjo?

Video: Kakšna je razlika med korutino in nitjo?
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Maj
Anonim

Ena pomembna razlika med nitmi in korutine je to niti so običajno vnaprej načrtovani, medtem ko korutine niso. Ker niti se lahko kadar koli prestavi in se lahko izvaja sočasno, programi, ki uporabljajo niti pri zaklepanju morate biti previdni.

Na ta način, kaj so korutine, se izvaja v drugi niti?

Korutine nimajo kaj narediti z Niti . Coroutine metode lahko se sčasoma izvaja kos za kosom, vendar vse procese še vedno izvaja en sam glavni Nit . Če imate več kot en logični CPE, veliko niti se izvajajo na drugačen procesorji.

Poleg tega, kaj je nit v programiranju? A nit v računalništvu je okrajšava za a nit izvedbe. Niti so način za a program razdeliti (imenovano "split") na dve ali več nalog, ki se izvajajo hkrati (ali psevdo-simultano).

Prav tako morate vedeti, kaj je Coroutine, ali se izvaja v novi niti?

Kaj se zgodi z a korutina je, da je teči na glavni nit vsak okvir in se izvaja, dokler ne doseže yield - potem bo začasno ustavljen, dokler ni izpolnjen pogoj donosa. A nit učinkovito teče hkrati z drugo kodo (to velja le, če imate več jeder).

Kdaj naj uporabim runBlocking?

Pravzaprav ti uporabite runBlocking klicati začasno funkcije v "blokirni" kodi, ki je sicer tam ne bi bilo mogoče poklicati ali z drugimi besedami: vi uporaba za klic funkcij suspend izven konteksta korutine (v vašem primeru je blok, posredovan async, funkcija suspend).

Priporočena: