Seite 1 von 4

If x = 1 and x = 2

Verfasst: 14.07.2009 15:53
von X360 Andy
Hab grad in der Sig von KeauHou folgendes gelesen

Code: Alles auswählen

If x = 1 and x = 2
MessageRequester("!!!", "WTF")
EndIf
Eigentlich könnte diese Bedingung nie erfüllt werden.
Aber könnte man sowas nicht mit einem Callback "lösen" ?

Weil bei den beiden Abfragen vergeht ja auch eine teil einer ms und genau in dem Moment könnte man ja X zu 2 ändern oder ?

>> Ja mir ist grad langweilig :D

Verfasst: 14.07.2009 16:06
von X0r
Selbst wenn, was genau soll dir das bringen?

Und was hat das mit einem CallBack zu tun?

Verfasst: 14.07.2009 16:10
von KeyKon
Er meint wohl Thread...

Re: If x = 1 and x = 2

Verfasst: 14.07.2009 16:18
von cxAlex
X360 Andy hat geschrieben: Weil bei den beiden Abfragen vergeht ja auch eine teil einer ms und genau in dem Moment könnte man ja X zu 2 ändern oder ?
Eigendlich müsste x von 2 zu 1 werden da die Argumente von hinten nach vorne geprüft werden.

Verfasst: 14.07.2009 16:18
von ZeHa
Probier's doch einfach mal, muesste im Prinzip schon funzen. Am besten machst Du 'ne Endlosschleife mit der Abfrage und 'nen Endlos-Thread der staendig x auf 1 und auf 2 stellt... und dann einfach mal laufenlassen und warten bis die erste Meldung hochpoppt ;)

Verfasst: 14.07.2009 16:22
von cxAlex
Es funktioniert :o :o :o :o

Code: Alles auswählen

Procedure Setter(*x.Integer)
  Repeat
    *x\i = (*x\i + 1)%3
  ForEver
EndProcedure

CreateThread(@Setter(), @x)

Repeat
  If x = 1 And x = 2
    MessageRequester("!!!", "WTF")
  EndIf
ForEver

Verfasst: 14.07.2009 16:26
von ZeHa
Meiner Meinung nach ein wirklich sehr schoenes Beispiel, um zu zeigen, wie gefaehrlich und anspruchsvoll gescheite Multithreading-Programmierung sein kann :)

Verfasst: 14.07.2009 16:27
von Kaeru Gaman
cxAlex hat geschrieben:

Code: Alles auswählen

  Repeat
    *x\i = (*x\i + 1)%3
  ForEver
:?:

Code: Alles auswählen

*x\i = 1
  Repeat
    *x\i =  3 - *x\i 
  ForEver
:!: Bild

Verfasst: 14.07.2009 16:28
von cxAlex
Ich wollt unbedingt n Modulo drin haben :cry: :mrgreen:

Verfasst: 14.07.2009 16:30
von Kaeru Gaman
is ja auch banane...

hat auch unterschiedliche anwendungsmöglichkeiten:
deins isn "glide", meins isn "flipflop"...