Корутин мен жіптің айырмашылығы неде?
Корутин мен жіптің айырмашылығы неде?

Бейне: Корутин мен жіптің айырмашылығы неде?

Бейне: Корутин мен жіптің айырмашылығы неде?
Бейне: 5 Unity C# Tips & Tricks That You May Not Have Known Before! 2024, Мамыр
Anonim

Бір маңызды жіптер арасындағы айырмашылық және корутиндер бұл жіптер әдетте алдын ала жоспарланған уақытта корутиндер емес. Өйткені жіптер кез келген сәтте қайта жоспарлауға болады және бағдарламаларды бір уақытта орындауға болады жіптер құлыптауда абай болу керек.

Осылайша, ол әртүрлі жіпте жұмыс істейтін корутиндер дегеніміз не?

Корутиндер ештеңе жоқ істеу бірге Жіптер . Корутин әдістері алады уақыт өте келе бөлікпен орындалады, бірақ барлық процестер әлі де бір негізгі арқылы орындалады Жіп . Егер сізде бірнеше логикалық процессор болса, көптеген жіптер бойынша орындалады әртүрлі Орталық процессорлар.

Сонымен қатар, бағдарламалаудағы ағын дегеніміз не? А жіп информатикада а үшін қысқартылған жіп орындалу. Жіптер үшін жол болып табылады бағдарламасы өзін екі немесе одан да көп бір уақытта (немесе жалған бір мезгілде) орындалатын тапсырмаларға бөлу («бөлу» деп аталады).

Сондай-ақ білу керек, Coroutine дегеніміз не ол жаңа ағында жұмыс істейді?

амен не болады корутин бұл солай жүгіру негізгі бойынша жіп әрбір кадрды қосады және ол өнімділікке жеткенше орындайды - содан кейін ол кірістілік шарты орындалғанға дейін тоқтатылады. А жіп тиімді жүгіреді басқа кодпен бір уақытта (бұл сізде бірнеше ядролар болған кезде ғана дұрыс).

runBlocking қолданбасын қашан қолдануым керек?

Шын мәнінде сен runBlocking пайдаланыңыз «блоктау» кодындағы тоқтата тұру функцияларын шақыру үшін, әйтпесе ол жерде шақыруға болмайды немесе басқаша айтқанда: сіз пайдалану ол корутиндік контекстен тыс тоқтата тұру функцияларын шақыру үшін (сіздің мысалыңызда синхронизацияға берілген блок тоқтата тұру функциясы болып табылады).

Ұсынылған: