Multithreading

Daniel Salama dsalama at user.net
Mon Mar 28 05:05:52 UTC 2005


Ross,

I asked myself the same questions. As I am new to Smalltalk, one of the  
things that attracted me to Smalltalk was that it's been around for so  
many decades. I would have assumed that this "limitation" in its  
libraries (or image(s)) as far as concurrency would have been resolved  
by now. I guess I got spoiled with some of the facilities available in  
Java.

Yielding control to other processes without any guarantees that control  
will come back in a correspondingly mutual manner makes me just want to  
not even try developing anything multi-threaded friendly.

As far as Seaside behavior in, I posted a similar question in Seaside's  
list  
(http://lists.squeakfoundation.org/pipermail/seaside/2005-March/ 
004685.html) but didn't really get an answer for it. I thank Avi for  
letting me know that Transcript>>show is just about the worst thing I  
could use to show status progress but no one really addressed my  
question about Seaside/Squeak/GOODS performance (even though it's all  
relative to application needs and application design).

Thanks,
Daniel

On Mar 27, 2005, at 9:44 PM, Ross Boylan wrote:

> 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