Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Folgendes Problem. > > Ich habe mehrere threads parallel laufen.Manche Variablen sollen für alle threads gelten. > > Wo muss ich die Variablen deklarieren, dass sie für alle threads gelten. > > Es soll zum Beispiel in einem thread eine Variable beschrieben werden und in einem > > anderen thread ausgedruckt werden. > > Hallo Jogi, > > du kannst aus jedem Modul die Variablen der anderen Module ansprechen, > du musst nur den richtigen Modulnamen voranstellen. Das gilt auch über die Thread - Grenzen. > Im Handbuch heisst soetwas "Globale Variable". > > Ein Beispiel: > Im Thread "main" wird das Modul "a" aufgerufen, in dem kommt die Variable "vara" vor. > Im Thread "second" wird das Modul "b" aufgerufen, in dem möchtest du auf "vara" aus "a" zugreifen. > Wenn du im Modul "b" nur "vara" schreibst, gibt es eine eigene Variable fürs Modul "b" namens "vara". > Wenn du die Variable mit "a.vara" adressierst, funktioniert es auch wie du möchtest, > einfach nur Modulname und Punkt ( hier "a." ) vor dem "vara" voranstellen. > > Aber achte bitte auf folgende Punkte: > 1..wenn die Variable in zwei verschiedenen Threads benutzt wird, ist nicht klar, wer wann den Wert > bestimmt. Je nachdem, wer zuletzt schreibt, bestimmt ihren Wert. (Multithreading !) > 2..da diese Variable im Modul "a" definiert wurde, braucht es auch keine neue Definition im Modul "b" mehr. > 3..da der Interpreter nur ihm bekannte Dinge kompilieren kann, muss Modul "a" vor Modul "b" im Programm- > listing stehen, sonst gibt es eine Fehlermeldung. > 4..im Modul "a" kannst du auch "a.vara" schreiben, das erhöht die Übersichtlichkeit des Programms sehr. > 5..elegant ist es, ein eigenes Modul für diese "Globalen Variablen" zu erstellen, das ist übersichtlicher. > > Gruss Martin