В Windows, когда процесс завершается, ОС автоматически возвращает все ресурсы, принадлежащие этому процессу. Конец истории.
Например, скажем, что вы создали «CreateFileMapping()» для каждого из двух процессов для обмена сегментом памяти. Когда первый процесс завершается, Windows уменьшает счетчик использования, и только выживший процесс все еще может использовать объект. Когда второй процесс выполняет «CloseHandle()» (или сам выходит), счетчик уменьшается до нуля, и объект полностью освобождается.
Другими словами, Windows будет восстанавливать ресурс, когда он больше не используется, очищают ли процессы изящно после себя или нет.
И нет, даже если вы откроете файл для эксклюзивного доступа, сам файл не будет «заблокирован» после закрытия дескриптора файла (и Windows будет автоматически закрывать его при завершении программы).
Под «процессом» вы на самом деле подразумеваете вызов метода или поток в рамках одной программы? – IanNorton 2010-12-04 07:18:31
Нет вызова метода, его exe-файл, вызываемый процессом. – 2010-12-04 07:48:31