Frage zur DLL Speicherverwaltung
-
Hallo,
wenn ich eine DLL Datei lade dann hat ja jeder Prozess seinen eigenen Platz fuer Variablenspeicher der DLL Datei, es sei denn man verwendet SharedMemmory.
Wenn ein Thread oder mehrere Threads (erzeugt und gestartet im selben Prozess) auch diese Dll laden bekommt dann jeder Thread einen eigenen Speicherbereich oder geht das nur auf Prozessebene ?Gruesse
TheNoName
-
Wenn ein Thread oder mehrere Threads (erzeugt und gestartet im selben Prozess) auch diese Dll laden bekommt dann jeder Thread einen eigenen Speicherbereich oder geht das nur auf Prozessebene ?
Unter Windows nur auf Prozessebene.
Simon
-
Hi,
danke für die Antwort.
Um das dann noch zu erweitern:
Ein Prozess lädt eine DLL, in dieser DLL wird ein Thread gestartet, dieser Thread lädt eine zweite DLL Datei, ist dann ebenso nur einmal der Variablenplatz der zweiten reserviert (für diesen Hauptprozess)?Grüße
TheNoName
-
Pro Prozess gibts nur ein Adressraum.
-
theta schrieb:
Pro Prozess gibts nur ein Adressraum.
einen

-
Danke.

-
thetas Antworten sind nicht sehr gut. Ich gebe dir mal das Stichwort: Thread Locale Storage (TLS).
-
Aleksu Fureii schrieb:
thetas Antworten sind nicht sehr gut. Ich gebe dir mal das Stichwort: Thread Locale Storage (TLS).
Deswegen wird der Adressraum auch nicht grösser. Danke für die Blumen.