Hva er forskjellen mellom en korutin og en tråd?
Hva er forskjellen mellom en korutin og en tråd?

Video: Hva er forskjellen mellom en korutin og en tråd?

Video: Hva er forskjellen mellom en korutin og en tråd?
Video: «ХРОНОС» | Научно-фантастическая короткометражка | Озвучка DeeaFilm 2024, Desember
Anonim

En viktig forskjellen mellom trådene og korutiner er det tråder er vanligvis forhåndsplanlagt mens korutiner er ikke. Fordi tråder kan endres når som helst og kan kjøres samtidig, programmer som bruker tråder må være forsiktig med å låse.

På denne måten, hva er koroutiner kjører den på annen tråd?

Korutiner har ingenting å gjøre med Tråder . Coroutine metoder kan utføres stykke for stykke over tid, men alle prosesser gjøres fortsatt av en enkelt hovedledning Tråd . Hvis du har mer enn én logisk CPU, mange tråder blir henrettet på annerledes CPUer.

I tillegg, hva er tråd i programmering? EN tråd i informatikk er forkortelse for a tråd av henrettelse. Tråder er en måte for en program å dele (kalt "dele") seg selv i to eller flere samtidig (eller pseudo-samtidig) løpende oppgaver.

Også å vite er, hva er Coroutine kjører den på ny tråd?

Hva skjer med en coroutine er at det er det løpe på hovedsiden tråd hver ramme og kjøres til den gir et utbytte - så vil det suspenderes til avkastningsbetingelsen er oppfylt. EN tråd effektivt løper samtidig som annen kode (dette er bare sant når du har flere kjerner).

Når bør jeg bruke runBlocking?

Egentlig deg bruk runBlocking å kalle suspenderende funksjoner i "blokkerende" kode som ellers ikke ville vært anropbare der, eller med andre ord: du bruk det å kalle opp suspenderingsfunksjoner utenfor coroutine-konteksten (i ditt eksempel er blokken som sendes til async suspenderingsfunksjonen).

Anbefalt: