Care este diferența dintre o corutine și un fir?
Care este diferența dintre o corutine și un fir?

Video: Care este diferența dintre o corutine și un fir?

Video: Care este diferența dintre o corutine și un fir?
Video: FANG Interview Question | Process vs Thread 2024, Mai
Anonim

Unul important diferența dintre fire și corutine este asta fire sunt de obicei programate preventiv în timp ce corutine nu sunt. pentru că fire poate fi reprogramat în orice moment și poate executa concomitent, folosind programe fire trebuie să fie atent la blocare.

În acest fel, care sunt corutinele rulează pe un fir diferit?

Coroutine nu ai ce sa do cu Fire . Corutine metode poate sa să fie executate bucată cu bucată de-a lungul timpului, dar toate procesele sunt încă realizate de un singur principal Fir . Dacă aveți mai multe procesoare logice, multe fire sunt executate pe diferit CPU-uri.

În plus, ce este thread în programare? A fir în informatică este prescurtarea pentru a fir de executare. Fire sunt o modalitate pentru a program să se împartă (numit „divizat”) în două sau mai multe sarcini care rulează simultan (sau pseudo-simultan).

De asemenea, trebuie să știți, ce este Coroutine, rulează pe un fir nou?

Ce se întâmplă cu a corutine este că este alerga pe principal fir fiecare cadru și se execută până când face un randament - apoi se va suspenda până când condiția de randament este îndeplinită. A fir în mod eficient aleargă în același timp cu alt cod (acest lucru este adevărat numai atunci când aveți mai multe nuclee).

Când ar trebui să folosesc runBlocking?

De fapt tu utilizați runBlocking pentru a apela funcții de suspendare în cod de „blocare” care altfel nu ar fi apelabile acolo sau, cu alte cuvinte: utilizare aceasta pentru a apela funcții de suspendare în afara contextului corutinei (în exemplul dvs. blocul trecut la asincron este funcția de suspendare).

Recomandat: