चल रहे उदाहरणों में से मैं बहु उदाहरण एप्लिकेशन पर काम कर रहा हूं। सी # में यह जानने के लिए कोई तरीका है कि वर्तमान में कितने उदाहरण चल रहे हैं।
मैंने अपने एप्लिकेशन नाम की विंडो प्रक्रियाओं की गणना करने के लिए कोड का एक टुकड़ा इस्तेमाल किया लेकिन यह एक अच्छा तरीका नहीं है।सेमफोर कार्यान्वयन। वर्तमान में
string fileName = Process.GetCurrentProcess().MainModule.FileName;
int count = 0;
foreach (Process p in Process.GetProcesses())
{
try
{
if (p.MainModule.FileName == fileName)
{
count++;
}
}
catch { }
}
MessageBox.Show("Total Instances Running are " + count);
यह सेमाफोर का उपयोग करके किया जा सकता है या कुछ वेतन वृद्धि और घटती काउंटर जब एक उदाहरण बंद कर देता है कि एक के बाद एक से वृद्धि की जाती है जब नया उदाहरण बनाया है और घटती है।
उत्तर के लिए धन्यवाद। क्या आप मुझे एमएसडीएन को छोड़कर कुछ अन्य संसाधन बता सकते हैं। –
Google? https://www.google.co.il/search?q=.net+semaphore&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a – zmbq
सेमफोर के साथ समस्या कक्षा यह है कि आप इसे जारी किए बिना गिनती नहीं प्राप्त कर सकते हैं, जो कुछ सुंदर गन्दा कोड उत्पन्न कर सकता है ... –