Bir pencere işleminde, iş parçacığı için bir defada kullanılacak herhangi bir sınır var. Eğer öyleyse, işlem başına kullanılabilecek maksimum iplik sayısı nedir?Bir işlemin işlem yapabileceği maksimum iş parçacığı sayısı nedir
cevap
bildiğim sınır yoktur, ancak iki pratik sınırlamaları vardır: yığınlar için
- sanal alanı. Örneğin, 32 bitlik süreçte işlemin sanal alanı 4GB'tır, ancak genel kullanım için sadece 2G civarındadır. Varsayılan olarak her iş parçacığı 1MB yığın alanı ayırır, böylece en üst değer 2000 iş parçacığıdır. Doğal olarak, yığının boyutunu değiştirebilir ve daha fazla iş parçacığı sığacak şekilde küçültebilirsiniz (
CreateThread
numaralıdwStackSize
parametresi veya/STACK
linker komutunda). 64 bitlik bir sistem kullanırsanız, bu sınır pratik olarak yok olur. - Zamanlayıcı yükü. Binlerce parçayı okuduktan sonra, sadece zamanlama işlemi CPU zamanınızın yaklaşık% 100'ünü yiyecektir, bu yüzden çoğunlukla işe yaramazlar. Bu zor bir sınır değildir, sadece programınız oluşturduğunuz daha fazla iş parçacığı daha yavaş ve yavaş olur.
Eh, iş parçacığı durumuna bağlıdır. 6000 engellenen iş parçacığı makinemin çalışması üzerinde sıfır etkisi vardır. Ayrıca, iş parçacığı hazır/çalışıyor olsa bile, 16 iş parçacığı veya 1600'üm olsaydı çok önemli olurdu - her iki durumda da 4/8 çekirdim. –
@MartinJames: Çekirdek çizelgeleyici tarafından kullanılan algoritmalar, iş parçacığı tablosunun boyutuyla bir sonraki skalada neyin çalıştırılacağına karar verdikleri için. Hiç kuşkusuz detaylar Windows sürümüne göre değişiyor, ama WinXP'de sadece (;;) Sleep (1000) 'i çalıştıran 2000 iş parçacığı oluşturduğumu ve CPU kullanımının% 80'in üzerinde olduğunu hatırlıyorum. – rodrigo
IIRC, readdt iş parçacığı temel olarak iş parçacığı bilgi bloğu işaretçilerinin sıra sıralı bir sıra dizisidir. Bir sıra 2000 girdisi var, ancak yalnızca dört çekirdek varsa, bir zamanlayıcı kesmede iş parçacığı üzerinde dolaşan sadece 'eski' dört iş parçacığı arkaya itmek ve dört 'yeni' olanları önden atmak gerekir - gerçekten önemli değil sıra uzun. Bu uzun sürmeyecek mi? –
Gerçek sınır, kullanılabilir bellek miktarı tarafından çeşitli yollarla belirlenir. Windows'da "bu çoktan fazla ipucunuza sahip olamazsınız" sınırı yoktur, ancak sistem içinde ne kadar bellek kullanabileceğinize dair sınırlar vardır ve bu tükendiğinde daha fazla oluşturamazsınız İş Parçacığı.
Mark Russinovich tarafından bu blogu bakınız: http://blogs.technet.com/b/markrussinovich/archive/2009/07/08/3261309.aspx
- 1. Bir Paralelde maksimum iş parçacığı sayısı nasıl yapılandırılır.
- 2. Maksimum iş parçacığı sorunu
- 3. NPTL, maksimum iş parçacığı 65528?
- 4. Bir işlemin ana iş parçacığı kimliği nasıl alınır (kimliğiyle bilinir)?
- 5. İş parçacığı güvenli ByteArrayOutputStream nedir?
- 6. Tomcat iş parçacığı havuzundaki iş parçacığı sayısı nasıl artırılır?
- 7. Uygulamada çalışabilecek maksimum konu sayısı?
- 8. Aynı anda iş parçacığı dinamik sayısı oluşturma
- 9. İş parçacığı/BeginInvoke nedir? [Başlangıç]
- 10. maksimum sayısı
- 11. Java'da bir process_reaper iş parçacığı nedir?
- 12. İş parçacığı tanıtıcısı iş parçacığı tanıtıcısı
- 13. USSD mesajındaki maksimum karakter sayısı nedir?
- 14. Farklı bir iş parçacığı üzerinde başka bir işlem nasıl çalıştırılır
- 15. Alt işlem nedir.Args parametresinin maksimum uzunluğu nedir?
- 16. Ana iş parçacığı
- 17. iş parçacığı afinitesi
- 18. Kinect ile iş parçacığı
- 19. Bir iş parçacığı yığınının ve bir işlem yığınının arasındaki fark nedir?
- 20. Bir iş parçacığı veya iş parçacığı için bir DAO DAO?
- 21. Tek bir SQL Server tablosunun depolayabileceği maksimum satır sayısı nedir?
- 22. Bir Windows Installer özelliğinde depolanabilecek maksimum karakter sayısı nedir
- 23. Bir "gerçek" iş parçacığı
- 24. iş parçacığı içinde yerel depolama iş parçacığı
- 25. Crystal raporlarındaki maksimum Sütun sayısı?
- 26. Java sinyal dağıtıcısı iş parçacığı nedir?
- 27. Proksol maksimum bağlantı sayısı
- 28. İş parçacığı .net 4
- 29. Bir CLR İşçi İş Parçacığı ile İşçi İş Parçacığı arasındaki fark nedir?
- 30. iş parçacığı
sen denediniz https://www.google.de/#q=What+is+the+maximum+number+of+threads+a+process+ zaten + içeride + pencere var mı? –
Bunu test ettim. Benim 64-bit Vista nihai 7000'den fazla iş parçacığı oluşturmayı reddediyor, tam rakamı hatırlayamıyor. –