Merhabalar bu yazımda Swift 3 ile birlikte kullanım yapısı tamamen değişen ve uygulama geliştirirken çok ciddi ve önemli yerlerde kullandığımız GCD yani Thread yapısını nasıl kullanırız buna örnek vereceğim.
Threadler bildiğimiz gibi işlem gücü olan makinalar için işlemleri ayıran ve zamana bağlı olarak olay işleten yapılardır. Thread sayesinde çoklu işlemleri aynı anda yapabiliriz buda bize uygulama içerisinde büyük avantajlar sağlar.
Aşağıdaki verdiğim yapı ile Threadleri uygulamalarınızda kullanabilirsiniz.
1 2 3 |
DispatchQueue.main.async { print("main thread") } |
1 2 3 4 5 6 |
let backgroundQueue = DispatchQueue(label: "com.app.testapp",qos: .background,target: nil) backgroundQueue.async { //code } |
1 2 3 4 5 6 |
let delay = DispatchTime.now() + .seconds(10) DispatchQueue.main.asyncAfter(deadline: delay) { // 10 second after print("kenanatmaca.com") } |
1 2 3 4 5 |
let workI = DispatchWorkItem(qos: .default, flags: .assignCurrentContext) { print("Test") } DispatchQueue.main.async(execute: workI) |
1 2 3 4 5 |
DispatchQueue.global(qos: .userInteractive).async { // Background } |
Değişen kuyruk seçenekleri
1 2 3 4 |
* DISPATCH_QUEUE_PRIORITY_HIGH: .userInitiated * DISPATCH_QUEUE_PRIORITY_DEFAULT: .default * DISPATCH_QUEUE_PRIORITY_LOW: .utility * DISPATCH_QUEUE_PRIORITY_BACKGROUND: .background |
asyncAfter’e eklenebilir zamanlar
1 2 3 4 |
* .seconds(Int) * .milliseconds(Int) * .microseconds(Int) * .nanoseconds(Int) |
Bu yazı yorumlara kapalı.