[squeak-dev] Are Squeak processes pre-emptive?

Randal L. Schwartz merlyn at stonehenge.com
Tue Apr 13 16:24:46 UTC 2010

>>>>> "Ang" == Ang BeePeng <beepeng86 at yahoo.com> writes:

Ang> Are Squeak processes pre-emptive? Are infinite loop processes safe
Ang> to run?

Squeak uses a simple priority scheme.

A Squeak process runs until it yields or it is interrupted by a higher
priority process event.  When it is interrupted, it goes to the back of
the queue, so when the higher priority process pauses or completes,
other processes at the same priority are likely to be run instead.

So, it's safe to run an infinite loop, but be sure that anything that
should interrupt it is at a higher priority.  And if you're running
*two* infinite loops at the same priority, you need something that will
just interrupt regularly.

Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion

More information about the Squeak-dev mailing list