On Feb 24, 2011, at 8:49 46PM, laurent laffont wrote:
> Finally a funny class ;)
>
> I rephrase a little:
>
> I represent a message sent to be scheduled by the SMxWorldState. I'm the
> exact duplicate of MorphicAlarm in the Simple Morphic world (see MorphicAlarm
> comment).
>
>
> And in MorphicAlarm:
>
> I represent a message to be scheduled by the WorldState.
>
> For example, you can see me in action with the following example which print
> 'alarm test' on Transcript one second after evaluating the code:
>
> Transcript open.
> MorphicUIManager currentWorld
> addAlarm: #show:
> withArguments: #('alarm test')
> for: Transcript
> at: (Time millisecondClockValue + 1000).
>
>
>
> I haven't been able to test the previous code in SimpleMorphic, there's a MNU
> when trying to write in the Workspace.
>
>
> Laurent
>
For those wondering "why not just use normal delays and threading system?",
you might want to add:
"Compared to doing:
[(Delay forMilliseconds: 1000) wait. Transcript show: 'alarm test'] forkAt:
Processor activeProcess priority +1.
the alarm system has 2 distinctions:
- Runs with the step refresh rate resolution.
- Alarms only run for the active world. (Unless a non-standard scheduler is in
use)
- Alarms with the same scheduled time are guaranteed to be executed in the
order they were added"
At least that's what I could reckon.
Cheers,
Henry