Sous Windows, à la fin du processus, le système d'exploitation renvoie automatiquement toutes les ressources appartenant à ce processus. Fin de l'histoire. Par exemple, disons que vous avez fait "CreateFileMapping()" sur chacun des deux processus pour partager un segment de mémoire. Par exemple, par exemple, vous avez créé "CreateFileMapping()". Lorsque le premier processus se termine, Windows décrémente le compteur d'utilisation et seul le processus restant peut toujours utiliser l'objet. Lorsque le second processus fait un "CloseHandle()" (ou quitte lui-même), le compteur est décrémenté à zéro, et l'objet est complètement libéré. En d'autres termes, Windows récupèrera la ressource lorsqu'elle n'est plus utilisée, que les processus se nettoient gracieusement après eux-mêmes ou non. Et non, même si vous ouvrez un fichier pour un accès exclusif, le fichier lui-même ne sera pas "verrouillé" une fois le handle de fichier fermé (et Windows le fermera automatiquement lorsque le programme sera terminé).
Par "processus", parlez-vous réellement d'un appel de méthode ou d'un thread dans un seul programme? – IanNorton
Non pas un appel de méthode, c'est un fichier exe qui est appelé par un processus. –