Yüksek ölçeklenebilir bir uygulama tasarlıyorum. Ortak bir sıradan görev alan ve bunları işleyen birçok işlem düğümüne sahip olacak.ThreadPool biriktirme listesindeki sıraya alınmış öğelerin sayısı nasıl tanınır
Benim fikrim, her düğümde görev sırasından okunan bir iş parçacığım oluşturmak ve işi yapmak için bir Görev başlatmaktır.
Sorunum, her düğümde sıraya alınmış Görev sayısını sınırlamaktır, çünkü bu yalnızca Görev'leri oluşturan iş parçacığının hızına bağlıdır ve düğümün geçerli yüküne bağlı değildir. ThreadPool'da sıraya alınan öğelerin sayısını nasıl bilebilirim? Adil bir görev dağılımını nasıl yapabilirim?
Zaman ayırdığınız için teşekkür ederiz.
[bu] 'ya bir göz atın (http://stackoverflow.com/questions/4410959/how-can-i-determine-the-number-of-items-in-threadpool-queue) – Zero
Ne demek istiyorsun? "işlem düğümleri" tarafından? Tek bir paylaşılan bellek sistemindeki sadece işlemcilerse, tüm bu sorunları sizin için ele alan Görev Paralel Kitaplığı'nın varsayılan zamanlayıcılarına güvenmeniz gerekir. – Douglas
Sadece Semaphore/Slim kullanın. Görevi başlatmadan önce Bekle() öğesini çağırın, görev tamamlandığında Release(). Yapmanıza izin verilen tamamlanmamış görevler belirtildi. –