İçeriğe geç

RxSwift ile Schedulers

Merhabalar bu yazımda RxSwift ile Schedulers konusuna değineceğim. Scheduler işlemleri Thread yapısını kullanarak observe işlemlerini yönetmemizi sağlar.

Operatörler, aboneliğin oluşturulduğu yerdeki iş parçacığı üzerinde çalışacaktır. RxSwift’de, operatörleri belirli bir sıra üzerinde zorla çalıştırmak için zamanlayıcılar kullanabilirsiniz. Ayrıca aboneliğin belirli bir Kuyrukta gerçekleşmesini zorlayabilirsiniz. Bu görevler için subscribeOn ve observeOn fonksiyonları mevcuttur.RxSwift’de 5 Tür Zamanlayıcı vardır:

  • MainScheduler: Bu zamanlayıcı genellikle UI işlemlerinde kullandığımız main thread zamanlayıcısıdır.
  • CurrentThreadScheduler: Default olarak kullanılan zamanlayıcı.
  • SerialDispatchQueueScheduler: Eşzamanlı bir gönderme kuyruğu geçse bile, seri bir haale dönüştüren zamanlayıcı.
  • ConcurrentDispatchQueueScheduler:  Bazı işlerin arka planda yapılması gerektiğinde uygun olan zamanlayıcı.
  • OperationQueueScheduler: Bu zamanlayıcı, arka planda yapılması gereken bazı büyük iş parçalarının olduğu durumlarda ve maxConcurrentOperationCount kullanılarak eşzamanlı işleme ince ayar yapmak istediğiniz durumlarda uygun olan zamanlayıcı.

Bu zamanlayıcıları Rx üzerinde kullanmak için subscribeOn ve observeOn fonksiyonlarını kullanmaktayız.

  • subscribeOn(), hangi zincirin işlenmeye başlayacağı bütün zinciri söyler. Sadece zincir başına bir kez çağırmalısınız. Akışı aşağıdan aşağı tekrar çağırırsanız hiçbir etkisi olmaz.
  • observeOn(), belirtilen zamanlayıcıda yürütülecek olan tüm işlemleri yapar. Farklı iş parçacıkları arasında geçiş yapmak için akış başına birden çok kez çağırabilirsiniz.

Aşağıdaki örnekleri inceleyebilirsiniz.

 

 

Tarih:RxSwift

Bu yazı yorumlara kapalı.

© 2019 Kenan Atmaca