Sobes.tech
Middle

Bir fiziksel çekirdek iki iş parçacığı çalıştırıyorsa, bu senkron veya paralel mi gerçekleşecektir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bu, aynı mikromoment içinde eşzamanlı olarak gerçekleşecektir. Bir fiziksel kaynak (çekirdek) iki görevi tamamen paralel olarak yerine getiremez.

Android işletim sistemi, kesintili çoklu görev kullanır. Çekirdek, akışlar arasında geçiş yapar ve her birine küçük zaman dilimleri ayırır. Bu, paralellik (rekabet) yanılsaması yaratır.

// Örnek: kesintili çoklu görev
fun main() {
    val thread1 = Thread {
        for (i in 1..5) {
            println("İleti 1: $i")
            Thread.sleep(10) // Çalışma taklidi
        }
    }

    val thread2 = Thread {
        for (i in 1..5) {
            println("İleti 2: $i")
            Thread.sleep(10) // Çalışma taklidi
        }
    }

    thread1.start()
    thread2.start()
}

Yukarıdaki örnekte, her iki akışın çıktı satırlarının sıralanması, aralarındaki bağlam değişimini gösterir.

Kavramlar:

  • Paralelizm: Birden fazla görevin aynı anda çoklu CPU veya fiziksel çekirdeklerde eşzamanlı olarak yürütülmesi.
  • Senkron / Rekabet: Birden fazla görevin bir zaman dilimi içinde yürütülmesi, işlemcinin hızla görevler arasında geçiş yapmasıyla, onların eşzamanlı yürütülüyormuş gibi görünmesini sağlar.

Bu nedenle, tek bir çekirdekte, bağlam değişimi yoluyla çoklu akışların senkron (rekabetçi) yürütülmesi gerçekleşir.