Ich habe mehrere Möglichkeiten gefunden, 2 verschiedene Prozesse mit einem benannten Mutex oder anderen Sperren in .Net zu synchronisieren, aber ich habe nicht gefunden, wie es mit mehr als 2 Prozessen zu tun.Wie man 4 verschiedene Prozesse mit Mutex oder EventWaitHandler synchronisiert
Ich muss 4 verschiedene Prozesse synchronisieren Zugriff auf eine freigegebene Ressource. Ich habe versucht, mit:
bool createdNew;
using (EventWaitHandle eventWaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset, MutexName, out createdNew))
{
if (!createdNew)
{
eventWaitHandle.WaitOne();
}
... Critical section
eventWaitHandle.Set();
}
Aber funktioniert nur mit 2 Prozessen, wenn der Griff alle Warte Prozesse zur gleichen Zeit beginnen gesetzt.
Irgendwelche Ideen?
Was möchten Sie tun? – thebjorn
Nur einer der 4 Prozesse kann zu einem bestimmten Zeitpunkt in den kritischen Bereich eindringen können. –
Sie müssen einen Master-Prozess zuweisen, einen, der die Mutexe besitzt. Und kümmert sich um all die anderen kleinen Details, wie einer dieser Prozesse, der unerwartet beendet wird. Es ist sehr schwer sich davon zu erholen, also muss es auch alle anderen töten. –