Site icon Kenan Atmaca | Blog

İOS ile Paralel Thread çalıştırma

Merhabalar bu yazımda uygulamalarınızda kullanmanız için işinize yarayacak bir GCD (Grand Central Dispatch) örneği vereceğim.

Threadler bildiğimiz gibi bilgisayar üzerinde işlemlerin çoklu olarak eşzamanlı gerçekleştirilmesini ve uygulamalarımızda işlem öncelikleri atamamızı sağlamakta. Buda şüphesiz kullanacağınız anlamına geliyor.

Önceden verdiğim thread kullanım örneğini buradan erişebilirsiniz.

Aşağıdaki vereceğim örnekte ise paralel olarak nasıl bir thread blokları oluştururuz bunu öğrenmiş olacağız.

let thread = DispatchQueue(label: "com.TestApp", qos: .userInteractive, attributes: .concurrent, autoreleaseFrequency: .inherit, target: nil)
        
        thread.async {
            for _ in 0...10 {
                print("X")
            }
        }
        
        
        thread.async {
            for _ in 0...10 {
                print("O")
            }
        }

Normalde for’lar direk olarak çalıştırılsaydı kod yukardan aşağı derleme işlemi yaptığı için en üstteki for bloğu ilk ekrana basılır ardından diğer blok devreye girerdi ancak şimdi iki blokta beraber çalışmakta.

Çoğu thread işlemleri DispatchQueue sınıfı ile gerçekleşmekte. Yukardaki örnekte parametreleri değiştirerek farklı Thread çalıştırma şekillerinide kullanmanız mümkün.

Çıktı olarak karşımıza: “XOXOXO” çıkıyor.

Not: Bu işlemler sadece İOS’da değil tüm macOS,watchOS,tvOS geliştirmelerinde kullanabilirsiniz.