Thread win32 ActivePerl fork und Speicher: beendete kindprozesse liegen im speicher (7 answers)
Opened by ash77 at 2006-03-31 12:43

sesth
 2006-03-31 17:05
#64235 #64235
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
[quote=esskar,31.03.2006, 14:59][quote=sesth,31.03.2006, 13:16]Das Betriebssystem sollte aber den Threadspeicher wieder freigeben, wenn der Thread ordnungsgemäß beendet wurde.[/quote]
hmm, wenn ich unter c ein malloc in einem thread durchführe und dieses stück speicher nicht freigeben wird, bleibt es alloziert, auch dann, wenn der thread beendet wird.[/quote]
Bei malloc wird der speicher vom globalen Heap des Prozesses geholt, dass ist m.E. eine Prozess-Ressource. Wenn Du den Thread startest, gibts Du ihm aber initial Speicher mit (ich glaube Default = 1MB, kannst Du aber per Parameter anders einstellen). Dieser Speicher wird beim Beenden des Threads wieder freigegeben. Das kann man im Performance-Monitor schön beobachten.
Gruß
Thomas

View full thread win32 ActivePerl fork und Speicher: beendete kindprozesse liegen im speicher