Newsgroups: comp.lang.smalltalk,comp.lang.scheme,comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!bloom-beacon.mit.edu!wupost!news.ecn.bgu.edu!psuvax1!news.cc.swarthmore.edu!netnews.upenn.edu!news.amherst.edu!news.mtholyoke.edu!uhog.mit.edu!news.mathworks.com!udel!gatech!howland.reston.ans.net!ix.netcom.com!netcom.com!hbaker
From: hbaker@netcom.com (Henry G. Baker)
Subject: Re: Multithreading
Message-ID: <hbakerCyyn4I.8p0@netcom.com>
Organization: nil
References: <CyyHLD.BIo@world.std.com>
Date: Tue, 8 Nov 1994 17:55:30 GMT
Lines: 32
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:17785 comp.lang.scheme:11055 comp.lang.lisp:15536

In article <CyyHLD.BIo@world.std.com> edwards@world.std.com (Jonathan Edwards) writes:
>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.

Excuse me, but what makes you think that C++ 'does REAL
multithreading'?  The C++ _language_ knows nothing about threads, and
therefore you have to take 100% of the responsibility yourself for
managing multiple access to shared variables, classes, etc.

The Ada language offers REAL multithreading, but very few
implementations actually support it (e.g., a call to I/O stops
everything!).  So there's no guarantee that a language which offers
something will actually make it available to the average user.

The only language I have seen which has REAL multithreading built into
it from day 1 is NIL/Hermes, from IBM, apparently now defunct.

Bert Halstead did some interesting work on 'MultiLisp' at MIT a few
years back.  He and Ito have a Springer book which has a number of
papers on multithreaded Lisps.

There are some thoughts on multithreading in Lisp in my papers on
'Linear Lisp' in my ftp directory.

      Henry Baker
      Read ftp.netcom.com:/pub/hbaker/README for info on ftp-able papers.
      Contact hoodr@netcom.com if you have trouble ftping

