Laurent Laffont -��@lolgzs

Pharo Smalltalk Screencasts: http://www.pharocasts.com/
Blog: http://magaloma.blogspot.com/


On Fri, Feb 25, 2011 at 12:08 PM, Henrik Johansen <henrik.s.johansen@veloxit.no> wrote:

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.


Added, thanks Henrik.��It's cool to learn.

Laurent

��

Cheers,
Henry