Multithreading: Hat jede Prozedur ihren eigenen Stack?
-
Angenommen, meine Threadfunktion ruft eine Memberfunktion einer Klasse auf, die lokale Variablen hat. Greifen dann mehrere Threads auf dieselben lokalen Variablen zu oder hat jeder Thread seine eigenen Variablen?
-
Jeder Thread hat seinen eigenen Stack.
-
Hast du ein konkretes einzelnes Objekt das von mehreren Threads verwendet wird, greifen auch mehrere Threads drauf zu wie man es erwarten könnte. Da gibt es also keine Parallele version des Objekts. Sonst müsste man sich ja keine Gedanken um Synchronisation und Mutexlocks machen usw.
Wenn du das Objekt als Kopie irgendwelchen Threadfunktionen übergibst is das natürlich was anderes, doch dann reden wir zum einen nicht mehr von einem einzelnen konkreten Objekt und zum anderen hat dies dann auch nichts konkret mit Threads zu tun.
-
Jeder Thread hat seine eigenen lokalen Variablen.