Junior — Middle
Ինչպես են տարբերվում կատարողական հոսքերը և կորուտիները ծրագրավորման համատեքստում?
sobes.tech AI
Պատասխան AI-ից
Կատարման հոսքերը (threads) համակարգային պլանավորման միավորներ են, որոնք թույլ են տալիս կատարել կոդը միաժամանակ, օգտագործելով առանձին ստեկեր և պրոցեսորային կոնտեքստեր: Դրանք ծանր են ստեղծելու և փոխարինելու համար, պահանջում են սինխրոնիզացիա ընդհանուր ռեսուրսներին մուտք գործելու համար:
Կորուտիները՝ դա թեթև, համագործակցային կատարման միավորներ են, որոնք աշխատում են հոսքերի ներսում և թույլ են տալիս գրել ասինխրոն կոդը հերթականությամբ: Կորուտիները չեն ստեղծում նոր հոսքեր, բայց երբ կանգնում են, ազատում են հոսքը այլ առաջադրանքների համար, ինչը բարձրացնում է արդյունավետությունը:
Օրինակ Kotlin-ում:
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("Կորուտին ավարտվեց")
}
println("Հիմնական հոսք")
}
Այստեղ, կորուտինը չի բլոկավորում հիմնական հոսքը, այլ կանգնում է delay-ում, թույլ տալով այլ առաջադրանքների կատարմանը։