Estoy trabajando en la aplicación de varias instancias. ¿Hay alguna forma en C# de saber cuántas instancias se están ejecutando actualmente?
Utilicé un pedacito de código para contar los procesos de ventana de mi nombre de aplicación, pero esa no es una buena manera.implementación de semáforos para contar núm. de instancias actualmente en ejecución
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);
¿Se puede hacer mediante el uso de semáforo o algún incremento y decremento de contador que se incrementa en uno cuando se crea y decremento nueva instancia por uno cuando una instancia se cierra.
gracias por la respuesta. ¿Pueden decirme algunos otros recursos excepto 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
El problema con el semáforo clase es que no se puede obtener el conteo sin liberarlo, lo que puede producir un código bastante complicado ... –