मेरे पास यह स्थैतिक वर्ग है जिसमें स्थिर चर (एक साधारण int) होता है। मैं धागे की Run()
विधि में एक lock()
को क्रियान्वित किया है, तो कोई अन्य सूत्र समवर्ती इस वर्ग के लिए उपयोग कर सकते हैं, लेकिन अभी भी चर पागल हो जाता है, डुप्लिकेट, पागलपन की हद तक उच्च मूल्यों, आदिएक स्थैतिक चर धागा-सुरक्षित बनाने के लिए कैसे करें
प्रदर्शित इस वर्ग है:
public static class ExplorationManager
{
public static int Counter = 0;
public static void ExplorerMaker(List<int[]> validPaths, List<string> myParents, string[,] myExplorationMap, List<int[]> myPositions)
{
foreach (var thread in validPaths.Select
(path => new Explorer(myParents, path, myExplorationMap, myPositions)).
Select(explorer => new Thread(explorer.Explore)))
{
thread.Name = "Thread of " + Counter + " generation";
Counter++;
thread.Start();
}
}
}
वहाँ इस चर "अधिक" धागा सुरक्षित बनाने के लिए एक तरीका है?
पागलपन, डुप्लिकेट प्रदर्शित करना, अत्यधिक उच्च मूल्य_ - इस कोड से वास्तव में समझा नहीं जा सकता है। –