Newsgroups: comp.lang.smalltalk,comp.lang.scheme,comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!ix.netcom.com!netcom.com!sehyo
From: sehyo@netcom.com (Sehyo Chang)
Subject: Re: Multithreading
Message-ID: <sehyoCyypoE.IH2@netcom.com>
Followup-To: comp.lang.smalltalk,comp.lang.scheme,comp.lang.lisp
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
References: <CyyHLD.BIo@world.std.com>
Date: Tue, 8 Nov 1994 18:50:37 GMT
Lines: 34
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:17789 comp.lang.scheme:11059 comp.lang.lisp:15537

Jonathan Edwards (edwards@world.std.com) wrote:
: Is there a Lisp or Smalltalk that does REAL multithreading? Not cooperative 
: multiprocessing, but real OS-kernel pre-emptive threads. This means threads
: can run on multiple processors in an SMP, and taking a virtual memory fault
: in one thread does not block others. How does GC interact with threads?

: I am afraid I am doomed to C++ unless I can find this. Forgive me.

: -- 
: Jonathan Edwards				edwards@intranet.com
: IntraNet, Inc					617-527-7020
: One Gateway Center				FAX: 617-527-6779

Making thread-safe development system is very tough.  Attempts at superficial
implementation simpley doesn't scale up.  Thorough understanding of 
concurrency is required. GC complicates the issues  and poses challenging
engineering problem but is not undoable.

For interesting references:

	"The Design and Implementation  of ConcurrentSmalltalk", 
		Yasuhiko Yokote, 1990

	"Concurrent Smalltalk Manual", Waldemar Horwat, MIT Concurrent
			VLSI Architectures Group, it is actually more of
			lisp than smalltalk

	"Parallel Smalltalk", Stanford Tech Report, 1988? Author?
			Interesting attempts to uses OS processes.

For quick and dirty hack, you can try to implement "Timer".  Set a process
which suspends and activates lower priority at some time slices.

-- Sehyo
