Sobes.tech
Middle

Bir fizikiy yadroni ikki oqimni bajaradigan bo'lsa, bu sinxron yoki parallel ravishda bo'ladimi?

sobes.tech AI

AIdan javob

Bu, bir mikromomente içində eyni zamanda icra olunan zaman 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.