Middle
Երբ ֆիզիկական միավորի միավորի երկու հոսք է կատարվում, դա կլինի սինխրոն կամ պառալել:
sobes.tech AI
Պատասխան AI-ից
Այս ամենը տեղի կունենա սինխրոն՝ միաժամանակյա կատարման տեսանկյունից նույն միկրոմոմենտում։ Ֆիզիկական ռեսուրսը (կենտրոնը) չի կարող կատարել երկու առաջադրանք ամբողջությամբ միաժամանակ։
Android օպերացիոն համակարգը օգտագործում է կանխարգելիչ բազմակատարություն։ Կենտրոնը փոխում է թելերի միջև, յուրաքանչյուրին տրամադրելով փոքր ժամանակահատվածներ։ Սա ստեղծում է համընկնության (կոնկուրսության) տպավորություն։
// Օրինակ՝ կանխարգելիչ բազմակատարություն
fun main() {
val thread1 = Thread {
for (i in 1..5) {
println("Թել 1: $i")
Thread.sleep(10) // Աշխատանքի իմիտացիա
}
}
val thread2 = Thread {
for (i in 1..5) {
println("Թել 2: $i")
Thread.sleep(10) // Աշխատանքի իմիտացիա
}
}
thread1.start()
thread2.start()
}
Վերևի օրինակով մենք տեսնում ենք, որ երկու թելերի տողերի ելքը փոխվում է, ինչը ցույց է տալիս կոնտեքստի փոխարկումը նրանց միջև։
Համconcepts:
- Համընկնություն՝ միաժամանակյա կատարման մի քանի առաջադրանք նույն ժամանակում՝ մի քանի ֆիզիկական CPU կամ կենտրոններում։
- Սինխրոն / Կոնկուրս՝ մի քանի առաջադրանքների կատարման ժամանակահատվածում, երբ պրոցեսորը արագ փոխում է առաջադրանքների միջև, ստեղծելով նրանց միաժամանակյա կատարման տպավորություն։
Այսպիսով, մեկ կենտրոնում տեղի է ունենում միաժամանակյա (կոնկուրսային) մի քանի թելերի կատարմամբ՝ կոնտեքստի փոխարկման միջոցով։