İş parçacığı havuzunu kullanmak için en iyi yöntemler

Bu konu, iş parçacığı havuzuyla çalışmaya yönelik en iyi uygulamaları açıklamaktadır.

Yapılması Gerekenler

  • Uygulamanızda paralel işlemler gerçekleştirmek için iş parçacığı havuzunu kullanın.

  • Ui iş parçacığını engellemeden genişletilmiş görevleri gerçekleştirmek için iş öğelerini kullanın.

  • Kısa ömürlü ve bağımsız iş öğeleri oluşturun. İş öğeleri eşzamansız olarak çalışır ve kuyruktan havuza herhangi bir sırayla gönderilebilirler.

  • Güncellemeleri UI iş parçacığına gönderin. WinUI 3 uygulamalarında, Microsoft.UI.Dispatching.DispatcherQueue içindeki DispatcherQueue.TryEnqueue öğesini kullanın.

  • Uyku işlevi yerine ThreadPoolTimer.CreateTimer kullanın.

  • Kendi iş parçacığı yönetim sisteminizi oluşturmak yerine iş parçacığı havuzunu kullanın. İş parçacığı havuzu, gelişmiş özelliklere sahip olarak işletim sistemi düzeyinde çalışır ve işlem içindeki ve sistem genelindeki etkinlik ile cihaz kaynaklarına göre dinamik olarak ölçeklenecek biçimde optimize edilmiştir.

  • C++'ta, iş öğesi temsilcilerinin çevik iş parçacığı modelini kullandığından emin olun (C++ temsilcileri varsayılan olarak çeviktir).

  • Kullanım sırasında kaynak ayırma hatasını tolere edemiyorsanız önceden ayrılmış iş öğelerini kullanın.

Yapılmaması Gerekenler

  • Dönem değeri<1 milisaniye (0 dahil) olan düzenli süreölçerler oluşturmayın. Bu, iş öğesinin tek kullanımlık bir zamanlayıcı gibi davranmasına neden olur.

  • Tamamlanması, period parametresinde belirttiğiniz süreden daha uzun süren periyodik iş öğelerini göndermeyin.

  • Arka plan görevinden dağıtılan bir iş öğesinden kullanıcı arabirimi güncelleştirmeleri (bildirimler ve bildirimler dışında) göndermeye çalışmayın. Bunun yerine, arka plan görevi ilerleme durumunu ve tamamlama işleyicilerini kullanın; örneğin, IBackgroundTaskInstance.Progress.

  • Zaman uyumsuz anahtar sözcüğünü kullanan iş öğesi işleyicilerini kullandığınızda, iş öğesinde tam durum ayarlandığında işleyicideki tüm kodun yürütüldüğünü varsaymayın. İş parçacığı havuzu iş öğesi, işleyicideki tüm kod yürütülmeden önce tam duruma ayarlanabilir. İş öğesi tam duruma ayarlandıktan sonra işleyici içinde await anahtar sözcüğünü izleyen kod yürütülebilir.

  • Önceden ayrılmış bir iş öğesini yeniden başlatmadan birden çok kez çalıştırmayı denemeyin. Düzenli iş öğesi oluşturma