Sobes.tech
Middle

Fiziki nüvə iki iş parçacığını icra edirsə, bu sinxron və ya paralel olacaqmı?

sobes.tech Süni İntellekt

AI-dan cavab

Bu, eyni mikromomentdə icra baxımından sinxron baş verəcək. Fiziki resurs (çekirdek) iki vəzifəni tamamilə paralel icra edə bilməz.

Android əməliyyat sistemi preemptive çoxlu tapşırıq istifadə edir. Çəkirək, axınlar arasında keçid edir və hər birinə kiçik zaman dilimləri ayırır. Bu, paralelliyin (müqavilə) illüziyasını yaradır.

// Nümunə: preemptive çoxlu tapşırıq
fun main() {
    val thread1 = Thread {
        for (i in 1..5) {
            println("Axın 1: $i")
            Thread.sleep(10) // İşin təqlidi
        }
    }

    val thread2 = Thread {
        for (i in 1..5) {
            println("Axın 2: $i")
            Thread.sleep(10) // İşin təqlidi
        }
    }

    thread1.start()
    thread2.start()
}

Yuxarıdakı nümunədə, hər iki axının çıxış sətirlərinin ardıcıllığı, onların arasında kontekst dəyişməsini göstərir.

Koncepsiyalar:

  • Paralelizm: Bir neçə vəzifənin eyni zamanda çoxlu CPU və ya fiziki nüvələrdə icrası.
  • Senkron / Müqavilə: Bir neçə vəzifənin müəyyən bir zaman intervalında icrası, prosessorun sürətlə vəzifələr arasında keçid etməsi ilə onların eyni zamanda icrası illüziyasını yaradır.

Beləliklə, tək nüvədə, kontekst dəyişməsi vasitəsilə çoxlu axınların sinxron (müqaviləli) icrası baş verir.