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()
}
Жогорудагы мисалда, эки жиптин чыгаруусу кезектешип, алардын ортосунда контекст алмашуу көрсөтүлөт.
Түсүнүктөр:
- Параллелизм: бир нече тапшырманын бир мезгилде көптөгөн физикалык CPU же ядролордо аткарылышы.
- Синхрон / Конкуренция: бир нече тапшырманын белгилүү бир убакыт аралыгында аткарылышы, процессордун тез-тез тапшырмалар арасында которулушу менен алардын бир мезгилде аткарылып жаткан иллюзиясын түзүү.
Ошентип, бир ядродо, контекст алмашуу аркылуу көптөгөн жиптердин синхрондуу (конкуренттүү) аткарылышы болот.