Czy współprogramy są współbieżne?
Czy współprogramy są współbieżne?

Wideo: Czy współprogramy są współbieżne?

Wideo: Czy współprogramy są współbieżne?
Wideo: Coroutines Beyond Concurrency by Alex Semin 2024, Wrzesień
Anonim

Współprogramy . W skrócie, współprogramy są jak wątki wykonujące pracę jednocześnie . Jednakże, współprogramy niekoniecznie są związane z żadnym konkretnym wątkiem. A współprogram może zainicjować jego wykonanie w jednym wątku, a następnie zawiesić i kontynuować jego wykonanie w innym wątku.

Czy w tym przypadku Goroutines są współprogramami?

Oczywiście nazwa „ gorutyna wynika z tego podobieństwa. Różnice między współprogramy oraz gorutyny są: gorutyny implikują równoległość; współprogramy na ogół nie. gorutyny komunikować się za pośrednictwem kanałów; współprogramy komunikować się za pośrednictwem operacji zysku i wznawiania.

Poza powyższym, czy współprogramy są wątkami? Koncepcyjnie, współprogramy są jak wątki . Wykonują jednostki pracy jednocześnie. Ale w przeciwieństwie do wątki , współprogramy niekoniecznie są związane z żadnym konkretem wątek . A współprogram może zacząć wykonywać w jednym wątek , zawiesić wykonanie i wznowić na innym wątek.

W związku z tym, jakie są współprogramy, to działa w innym wątku?

Współprogramy nie mieć nic do robić z Wątki . Współprogram metody Móc być wykonywane kawałek po kawałku w czasie, ale wszystkie procesy są nadal wykonywane przez jedną główną Wątek . Jeśli masz więcej niż jeden logiczny procesor, wiele wątków są wykonywane w dniu różne Procesory.

Co rozumiesz przez współprogramy?

Współprogramy są komponenty programów komputerowych, które uogólniają podprogramy dla wielozadaniowości bez wywłaszczania, pozwalając na wstrzymywanie i wznawianie wykonywania. Współprogramy są dobrze nadaje się do implementowania znanych komponentów programu, takich jak zadania kooperacyjne, wyjątki, pętle zdarzeń, iteratory, nieskończone listy i potoki.

Zalecana: