Multithreaded Squeak

Bert Freudenberg bert at isg.cs.uni-magdeburg.de
Wed Nov 27 15:15:28 UTC 2002


On 27 Nov 2002, Martin Drautzburg wrote:

> goran.hultgren at bluefish.se writes:
> 
> > "...is because processes are partially preemptive. A running process
> > will not be interrupted by another process of equal or lesser priority.
> > A process will keep running until it does a time consuming operation
> > such as waiting on a socket read or on an instance of Delay, or the
> > process explicitly gives up control, or a higher priority process is
> > ready to run."
> 
> Does that mean if all a process does it loop, then there is no way to
> interrupt it ?  If I run
>         [true] whileTrue: [nil]
> it locks up the UI but I can still gain control with Alt-.

The interrupt watcher process has a higher priority so can preempt your 
loop. It waits on a semaphore that is signalled directly by the VM when 
alt-. is hit.

-- Bert




More information about the Squeak-dev mailing list