Wenn der Prozess unter Windows beendet wird, gibt das Betriebssystem automatisch alle Ressourcen zurück, die diesem Prozess gehören. Ende der Geschichte.
Angenommen, Sie haben "CreateFileMapping()" für jeden der beiden Prozesse verwendet, um ein Speichersegment freizugeben. Wenn der erste Prozess beendet wird, dekrementiert Windows den Verwendungszähler und nur der überlebende Prozess kann das Objekt weiterhin verwenden. Wenn der zweite Prozess eine "CloseHandle()" ausführt (oder selbst austritt), wird der Zähler auf Null dekrementiert, und das Objekt wird vollständig freigegeben.
Mit anderen Worten, Windows wird die Ressource zurückfordern, wenn es nicht mehr verwendet wird, ob die Prozesse ordnungsgemäß nach sich selbst bereinigen oder nicht.
Und nein, auch wenn Sie eine Datei für den exklusiven Zugriff öffnen, wird die Datei selbst nicht "gesperrt", sobald das Dateihandle geschlossen ist (und Windows schließt es automatisch, wenn das Programm beendet wird).
Mit "Prozess" meinen Sie eigentlich einen Methodenaufruf oder einen Thread innerhalb eines einzelnen Programms? – IanNorton
Nein, kein Methodenaufruf, es ist eine EXE-Datei, die von einem Prozess aufgerufen wird. –