Multithreading

Frage zu Multithreading: Ich habe dunkel in Erinnerung, dass ein Kommilitone mal ein Problem hatte. Bei einem OpenMP-Programm. Globale Variablen waren zwischen zwei Threads nicht synchronisiert. War das ein Problem mit, das mit „volatile“ lösbar wäre oder muss man da auf dem Heap allokieren?





Ich denke da an unterschiedliche Arten zu Adressieren: relativ und absolut. Exkurs: Wenn dann ein Thread erstellt wird, kopiert er doch den Ausführungsbereich, oder? Also den Stack und so. In ein anderes … Segment? Und in dem Stack liegen uA die globalen Variablen? Das würde erklären, warum da eine globale Variable nicht ansprechbar war: Die könnte relativ angesprochen worden sein. Weiß einer, ob da was dran ist? Ich vermute nur!