Tôi đang làm việc trên ứng dụng đa cá thể. Có cách nào trong C# để biết rằng có bao nhiêu trường hợp đang chạy hiện tại.
Tôi đã sử dụng một mã nhỏ để đếm các quy trình cửa sổ của tên ứng dụng của tôi nhưng đó không phải là cách tốt.thực hiện semaphore để đếm số. các cá thể hiện đang chạy
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);
Nó có thể được thực hiện bằng cách sử dụng semaphore hoặc một số tăng và sụt lần truy cập đó được tăng lên bởi một khi trường hợp mới được tạo ra và sụt lần bởi một khi một trường hợp đóng cửa.
cảm ơn câu trả lời. U có thể cho tôi biết một số tài nguyên khác ngoại trừ msdn. –
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
Sự cố với Semaphore lớp học là bạn không thể có được số mà không phát hành nó, mà có thể sản xuất một số mã khá lộn xộn ... –