Multithreading

Ross Boylan RossBoylan at stanfordalumni.org
Mon Mar 28 02:44:29 UTC 2005


This has been a very interesting thread for me.  I thought squeak did
time-slicing.  Are other smalltalks the same in not doing timeslicing?

On Sat, Mar 26, 2005 at 08:50:46AM -0800, Tim Rowledge wrote:
> Daniel Salama <dsalama at user.net> wrote:
> 
> > Karl,
> > 
> > The problem I encountered is that while this method was executing, 
> > Squeak was completely unresponsive. I could not open the Process 
> > Browser, I could not do anything whatsoever in Squeak.
> Of course it was; there should be no surprise there at all. There is a
> single active process and it runs until it stops. You can make it stop
> temporarily by deliberately yielding occasioanlly which will give

What actions, or types of actions, are necessary to yield control?

> other processes a chance to hog the cpu for themselves - but if that
> other process doesn't play nice and yield occasionally you will still
> feel locked out.
> 
> There is not any round-robin or timeslicing scheduling done by default.
> You can implement it fairly simply (google is your friend and can find
> many news postings on the subject over many years) if you really need
> it. The potential danger with using such a modifed scheduling setup is
> that most of the image is not multi-thread safe. 

Sounds as if it would take a big overhaul to get reliable
multi-threading.

> 
> 
> tim

I had understood that squeak was being used (via seaside) for web
servers.  How do they manage to deal with processing many things at
once (I'm assuming they do)?

Ross Boylan



More information about the Squeak-dev mailing list