İplik dizileri oluşturmamaya ve bunları yönetmeye çalışmamaya çalışın - çok geçmeden bir karışıklığa dönüşecektir. Görevleri çalıştırmak için bir iş parçacığı havuzuna ihtiyacınız varsa, üretici-tüketici kuyruğuna ihtiyacınız vardır. Bir tane oluşturun ve onu oluştururken iş parçacığına, (veya onu üye olarak içeren threadpool nesnesi örneği) iletin. Iş parçacığı yuvarlak, görevleri getirme ve bunları yürütme.
Bunu yapmanın kolay yolu, @Gray, (+1) tarafından ayrıntılı olarak açıklandığı gibi bir ExecutorService kullanmaktır.
Tekrar söylemek gerekirse, dizilerdeki, listelerdeki veya vektörlerdeki konuları mikro-yönetmeye çalışmayın, bunları başlatma, 'patron/yönetim' döngüsündeki durumlarını kontrol etme, onları sonlandırma/iptal etme, bunları yok etme vb. Porsche 911 gibi - büyük miktarda para/zaman harcadıktan sonra, işe yaramayacak gibi görünen bir şeyiniz olacak ve aniden kırılacak ve bir ağaca dönüşecek.
Uzun süre engellenen işler için ayrılmış bir iş parçacığı kullanın; bunlar yoğun ve hızlı bir şekilde yapılabilecekler için bir iş parçacığı.Yeni bir iş parçacığı çalıştırmak için bir şey gerekiyor yerde
Java private static final ExecutorService executor = Executors.newCachedThreadPool();
& bir lamda ifade kullanın 8+: Sınıfın üstünde set okuyuculu gereken bir sınıfta
Yardım ederse cevabımı kabul ettiğinizden emin olun. – Gray