Aký je rozdiel medzi korutínom a vláknom?
Aký je rozdiel medzi korutínom a vláknom?

Video: Aký je rozdiel medzi korutínom a vláknom?

Video: Aký je rozdiel medzi korutínom a vláknom?
Video: Lidl klony L'Oreal's Elvive Dream Long šampón: Lidl Long & Strong Shampoo {tinycosmetics} 2024, November
Anonim

Jeden dôležitý rozdiel medzi vláknami a korutíny je to vlákna sú zvyčajne preventívne naplánované korutíny niesu. Pretože vlákna môže byť preplánovaný kedykoľvek a môže byť vykonávaný súčasne pomocou programov vlákna treba dávať pozor na zamykanie.

Týmto spôsobom, čo sú korutíny, beží na inom vlákne?

Korutíny nemať čo robiť s Nite . Corutine metódy môcť byť vykonávané kus po kuse v priebehu času, ale všetky procesy sú stále vykonávané jednou hlavnou Niť . Ak máte viac ako jeden logický CPU, veľa vlákien sú vykonávané dňa rôzne CPU.

Okrem toho, čo je vlákno v programovaní? A niť v informatike je skratka pre a niť exekúcie. Nite sú cestou pre a program rozdeliť sa (nazývané "rozdeliť") na dve alebo viac súčasne (alebo pseudosimultánne) prebiehajúcich úloh.

Tiež vedieť, čo je Coroutine, beží na novom vlákne?

Čo sa stane s a korutín je to tak behať na hlavnej niť každý rámec a vykonáva sa, kým neurobí výnos - potom sa pozastaví, kým nie je splnená podmienka výnosu. A niť efektívne beží v rovnakom čase ako iný kód (toto platí len vtedy, keď máte viacero jadier).

Kedy by som mal použiť runBlocking?

Vlastne ty použite runBlocking volať funkcie pozastavenia v „blokovacom“kóde, ktoré by tam inak nebolo možné volať alebo inými slovami: vy použitie na volanie funkcií pozastavenia mimo kontextu korutíny (vo vašom príklade je blok odovzdaný do asynchrónnej funkcie pozastavenie).

Odporúča: