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
|