Global T1ID
Procedure T1(dummy)
Repeat
PauseThread(T1ID)
Debug "weiter gehts"
ForEver
EndProcedure
T1ID=CreateThread(@T1(),0)
For a=1 To 10
ResumeThread(T1ID)
Delay(1000)
Next a
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
Weil das Erstellen eines Threads auch etwas Zeit braucht. Bevor der Thread fertig erstellt wurde, ist die Variable "a" schon bereits bei 2. Ein Delay kann helfen:
Global T1ID
Procedure T1(dummy)
Repeat
PauseThread(T1ID)
Debug "weiter gehts"
ForEver
EndProcedure
T1ID=CreateThread(@T1(),0)
Delay(10)
For a=1 To 10
ResumeThread(T1ID)
Delay(1000)
Next a
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Weil der Mainthread bereits beim Delay(1000) ist, wenn der Thread
beim pausieren ankommt.
... RSBasic war schneller ... aber zum syncronisieren von Threads ist
ein Delay() nicht ausreichend. Da muss was Kugelsicheres her wie
z.B. nen Mutex oder Semaphoren.
Ja...manchmal muss man PureBasic echt ausbremsen...
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll