Görev Zamanlayıcı (Eşzamanlılık Çalışma Zamanı)
Belgelerin bu bölümündeki konular Eşzamanlılık Çalışma Zamanı Görev Zamanlayıcı'nın önemli özelliklerini açıklar. Görev Zamanlayıcı, Eşzamanlılık Çalışma Zamanı'nı kullanan mevcut kodunuzun performansında ince ayar yapmak istediğinizde kullanışlıdır.
Önemli
Görev Zamanlayıcı bir Evrensel Windows Platformu (UWP) uygulamasında kullanılamaz. Daha fazla bilgi için bkz . UWP Uygulamaları için C++'ta Zaman Uyumsuz İşlemler Oluşturma.
Visual Studio 2015 ve sonraki sürümlerde eşzamanlılık ::görev sınıfı ve ppltasks.h içindeki ilgili türler zamanlayıcı olarak Windows ThreadPool'u kullanır. Bu konu artık ppltasks.h içinde tanımlanan türler için geçerli değildir. parallel_for gibi paralel algoritmalar varsayılan zamanlayıcı olarak Eşzamanlılık Çalışma Zamanı'nı kullanmaya devam eder.
İpucu
Eşzamanlılık Çalışma Zamanı varsayılan bir zamanlayıcı sağlar ve bu nedenle uygulamanızda bir zamanlayıcı oluşturmanız gerekmez. Görev Zamanlayıcı, uygulamalarınızın performansında ince ayarlamalar yapmanızı sağladığından Eşzamanlılık Çalışma Zamanı'nı kullanmaya yeni başladıysanız Paralel Desenler Kitaplığı (PPL) veya Zaman Uyumsuz Aracılar Kitaplığı ile başlamanızı öneririz.
Görev Zamanlayıcı, çalışma zamanında görevleri zamanlar ve düzenler. Görev, belirli bir işi gerçekleştiren bir çalışma birimidir. Bir görev genellikle diğer görevlerle paralel olarak çalıştırılabilir. Görev grubu öğeleri, paralel algoritmalar ve zaman uyumsuz aracılar tarafından gerçekleştirilen çalışma, tüm görevlere örnektir.
Görev Zamanlayıcı, birden çok bilgi işlem kaynağına sahip bilgisayarlarda görevleri verimli bir şekilde zamanlamayla ilgili ayrıntıları yönetir. Görev Zamanlayıcı, temel işletim sisteminin en yeni özelliklerini de kullanır. Bu nedenle Eşzamanlılık Çalışma Zamanı'nı kullanan uygulamalar, genişletilmiş özelliklere sahip donanımlarda otomatik olarak ölçeklendirilir ve geliştirir.
Diğer Eşzamanlılık Modelleri ile karşılaştırmak, önleyici ve işbirliğine dayalı zamanlama mekanizmaları arasındaki farkları açıklar. Görev Zamanlayıcı, işlem kaynaklarının maksimum kullanımını elde etmek için işletim sisteminin önleyici zamanlayıcısıyla birlikte işbirliği zamanlama ve bir iş çalma algoritması kullanır.
Eşzamanlılık Çalışma Zamanı, altyapı ayrıntılarını yönetmeniz gerekmemesi için varsayılan bir zamanlayıcı sağlar. Bu nedenle, genellikle doğrudan Görev Zamanlayıcı'yı kullanmazsınız. Ancak, uygulamanızın kalite gereksinimlerini karşılamak için Kendi zamanlama ilkenizi sağlamak veya zamanlayıcıları belirli görevlerle ilişkilendirmek için Görev Zamanlayıcı'yı kullanabilirsiniz. Örneğin, dört işlemcinin ötesine ölçeklendirilmeyen paralel bir sıralama yordamınız olduğunu varsayalım. En fazla dört eşzamanlı görev oluşturan bir zamanlayıcı oluşturmak için zamanlayıcı ilkelerini kullanabilirsiniz. Bu zamanlayıcıda sıralama yordamının çalıştırılması, diğer etkin zamanlayıcıların kalan işlem kaynaklarını kullanmasına olanak tanır.
İlgili Konular'a
Ünvan | Açıklama |
---|---|
Zamanlayıcı Örnekleri | Zamanlayıcı örneklerini ve bunları yönetmek için ve concurrency::CurrentScheduler sınıflarının nasıl kullanılacağını concurrency::Scheduler açıklar. Açık zamanlama ilkelerini belirli iş yükü türleriyle ilişkilendirmek istediğinizde zamanlayıcı örneklerini kullanın. |
Scheduler İlkeleri | Zamanlayıcı ilkelerinin rolünü açıklar. Zamanlayıcının görevleri yönetirken kullandığı stratejiyi denetlemek istediğinizde zamanlayıcı ilkelerini kullanın. |
Zamanlama Grupları | Zamanlama gruplarının rolünü açıklar. Görevler arasında yüksek düzeyde yerelliğe ihtiyacınız olduğunda, örneğin bir grup ilgili görev aynı işlemci düğümünde yürütülmekten yararlandığında zamanlama gruplarını kullanın. |
Basit Görevler | Basit görevlerin rolünü açıklar. Basit görevler, mevcut kodu Eşzamanlılık Çalışma Zamanı'nın zamanlama işlevselliğini kullanacak şekilde uyarladığınızda kullanışlıdır. |
Bağlamlar | Bağlamların, işlevin concurrency::wait ve sınıfın concurrency::Context rolünü açıklar. Bağlamların ne zaman engellendiğinde, engelini kaldırıldığında ve verimde denetime ihtiyaç duyduğunuzda veya uygulamanızda fazla aboneliği etkinleştirmek istediğinizde bu işlevi kullanın. |
Bellek Yönetimi İşlevleri | concurrency::Alloc ve concurrency::Free işlevlerini açıklar. Bu işlevler, belleği eşzamanlı olarak ayırarak ve boşaltarak bellek performansını geliştirebilir. |
Diğer Eşzamanlılık Modelleri ile Karşılaştırma | Önleyici ve işbirliğine dayalı zamanlama mekanizmaları arasındaki farkları açıklar. |
Paralel Desen Kitaplığı (PPL) | Uygulamalarınızda paralel algoritmalar gibi çeşitli paralel desenlerin nasıl kullanılacağını açıklar. |
Zaman Uyumsuz Aracılar Kitaplığı | Uygulamalarınızda zaman uyumsuz aracıların nasıl kullanılacağını açıklar. |
Eşzamanlılık Çalışma Zamanı | Paralel programlamayı basitleştiren ve ilgili konulara bağlantılar içeren Eşzamanlılık Çalışma Zamanı'nı açıklar. |