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

Mike Hales mike.hales at kscape.com
Wed Apr 14 05:09:53 UTC 2010


Say for example a server that receives network requests at a certain
priority, then spawns worker processes at a lower priority. When the server
receives a new request, it should interrupt the current worker process to
fork another, but then the previously running worker process should
continue, not be put to the back of the queue. That way worker processes can
complete in the order that they were forked, not shuffled randomly to the
back based on some external factor. I agree with Eliot that VisualWorks does
this correctly and in Squeak it's a bug. I guess you could work around it
with Semaphores, but that adds a large burden on the developer.

Mike Hales
Engineering Manager
KnowledgeScape
www.kscape.com


On Tue, Apr 13, 2010 at 9:21 PM, Chris Muller <asqueaker at gmail.com> wrote:

> > If you have some task that is clearly higher-priority than some other
> task (eg: VoIP vs. polling an email server), then it's better to simply use
> a higher-priority Process rather than relying on particular scheduling
> behavior within a single priority-class.
>
> Hm, agreed..  So.. what is a use-case for when you might want the type
> of cooperative scheduling Eliot mentioned?
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100413/0e9c0a0c/attachment.htm


More information about the Squeak-dev mailing list