अरे अतः गुरु की im इस कोडjava.util.ConcurrentModificationException कार्यक्रम
public void kill(double GrowthRate, int Death)
{
int before = population.size();
for (PopulationMember p : population)
{
int[] probs = ProbablityArrayDeath(GrowthRate,Death,(int)p.fitness());
if (probs[RandomNumberGen.nextRandomInt(0, 99)]==0)
{
population.remove(p);
}
}
System.out.println("Intial Population: "+before+", Deaths:"+(before- population.size())+", New Population: "+population.size());
}
जब मैं अपने कार्यक्रम के लिए पहली बार यह कोड को चलाने के लिए कोशिश करता है चलाने के साथ एक नौकरी की एक बिल्ली होने यह इस त्रुटि हिट
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at Genetics.Population.kill(Population.java:181)
at Genetics.Population.run(Population.java:47)
at Control.Main.main(Main.java:35)
एक सा ऐसा गलती से हुआ है कि सामान्य रूप से धागे कारण है कि वे कोशिश करते हैं और समवर्ती एक ही संसाधन का उपयोग के साथ होता है प्रतीत हो रहा है चारों ओर goggled करने के बाद, लेकिन यह मुझे क्या im इस प्रणाली में बिल्कुल भी multithreading नहीं मिल रहा है।
कोई व्याख्या कर सकते हैं क्यों यह हो रहा है, या एक हैक के लगता है कि यह चारों ओर
बहुत धन्यवाद प्राप्त करने के लिए^_^
धन्यवाद इस कोड को मेरे कोड का एक बड़ा हिस्सा मिला है – Gwilym