Middle
Када једно физичко језгро извршава два тока, да ли ће то бити синхроно или паралелно?
sobes.tech АИ
Одговор од АИ
Ovo će se dešavati sinhrono u smislu istovremenog izvršavanja u istom mikro-momentu. Fizički resurs (jezgro) ne može izvršiti dva zadatka potpuno paralelno.
Android operativni sistem koristi preemptivno multitasking. Jezgro se prebacuje između niti, dodeljujući svakoj male vremenske kvante. To stvara iluziju paralelnosti (konkurentnosti).
// Primer: preemptivni multitasking
fun main() {
val thread1 = Thread {
for (i in 1..5) {
println("Nit 1: $i")
Thread.sleep(10) // Simulacija rada
}
}
val thread2 = Thread {
for (i in 1..5) {
println("Nit 2: $i")
Thread.sleep(10) // Simulacija rada
}
}
thread1.start()
thread2.start()
}
U gornjem primeru vidimo da se ispis linija iz obe niti naizmenično, što demonstrira promenu konteksta između njih.
Koncepti:
- Paralelizam: istovremeno izvršavanje više zadataka u istom trenutku na više fizičkih CPU ili jezgara.
- Sinkrono / Konkurentno: izvršavanje više zadataka tokom određenog vremenskog perioda, kada procesor brzo menja između zadataka, stvarajući iluziju njihovog istovremenog izvršavanja.
Dakle, na jednom jezgru, dolazi do sinkronog (konkurentnog) izvršavanja više niti putem promene konteksta.