Koja je razlika između korutine i niti?
Koja je razlika između korutine i niti?

Video: Koja je razlika između korutine i niti?

Video: Koja je razlika između korutine i niti?
Video: FANG Interview Question | Process vs Thread 2024, Maj
Anonim

Jedna važna razlika između niti i korutine je li to niti obično su preventivno zakazani dok korutine nisu. Jer niti može se reprogramirati u bilo kojem trenutku i može se izvršavati istovremeno, programi koji koriste niti morate paziti na zaključavanje.

Na ovaj način, šta su korutine da li se pokreće na drugoj niti?

Coroutines nemaju šta za uradi sa Threads . Coroutine metode mogu biti izvršeni dio po dio tokom vremena, ali svi procesi se i dalje obavljaju od strane jednog glavnog glavnog Thread . Ako imate više od jednog logičkog CPU-a, mnogo niti se izvršavaju na drugačije CPU.

Dodatno, šta je nit u programiranju? A thread u informatici je skraćenica od a thread izvršenja. Threads su način za a program da se podijeli (nazvan "split") na dva ili više zadataka koji se istovremeno (ili pseudo-istovremeno) izvršavaju.

Takođe treba znati šta je Coroutine da li radi na novoj niti?

Šta se dešava sa a coroutine je to tako trči na glavnom thread svaki okvir i izvršava se dok ne izvrši prinos - tada će se suspendovati dok se ne ispuni uslov prinosa. A thread efektivno trči istovremeno sa drugim kodom (ovo je tačno samo kada imate više jezgara).

Kada trebam koristiti runBlocking?

Zapravo ti koristite runBlocking za pozivanje suspendirajućih funkcija u "blokirajućem" kodu koji inače ne bi mogli biti pozvani tamo ili drugim riječima: vi koristiti za pozivanje suspend funkcija izvan konteksta korutine (u vašem primjeru blok proslijeđen async je suspend funkcija).

Preporučuje se: