Newsgroups: comp.lang.smalltalk,comp.lang.scheme,comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!hookup!olivea!uunet!ois!beckwb
From: beckwb@ois.com (R. William Beckwith)
Subject: Re: Multithreading
Message-ID: <CzAH3B.CtI@ois.com>
Followup-To: comp.lang.smalltalk,comp.lang.scheme,comp.lang.lisp
Organization: Objective Interface Systems, Inc.
X-Newsreader: TIN version 1.2 PL2
References: <CyyHLD.BIo@world.std.com> <hbakerCyyn4I.8p0@netcom.com> <GWYANT.94Nov10133254@cloyd.east.sun.com> <hbakerCz44Jp.H8y@netcom.com>
Date: Tue, 15 Nov 1994 03:16:23 GMT
Lines: 41
Xref: glinda.oz.cs.cmu.edu comp.lang.smalltalk:17983 comp.lang.scheme:11285 comp.lang.lisp:15627

Henry G. Baker (hbaker@netcom.com) wrote:

: This is all pretty interesting, since I have been told that the most
: obvious example of an Ada which _doesn't_ do threads correctly with
: respect to I/O is _DEC_ VAX Ada.  Either they learned from their Ada
: experience or they sand-bagged the Ada product to make Modula look
: good.

You are correct. DEC's VAX Ada does not use O/S threads for Ada tasks.
However, DEC Ada on Alpha OpenVMS and OSF/1 does use O/S threads for
Ada tasks.

For every multi-threaded operating system I can think of, there _is_
an Ada compiler that uses the native O/S threads for Ada tasks.

	Lynx		Alsys
	OS/2		Alsys
	OSF/1		DEC, Rational
	OpenVMS/AXP	DEC
	SGI		Rational
	Sequent		Rational
	Solaris 2.X	Sun (Rational)
	Win NT		Alsys, Rational

I'm sure I missing quite a few.

The free GNAT Ada 9X compiler is built on top of a POSIX threads
library.  Thus, it always uses O/S threads for Ada tasks.

Ada's built-in multi-threading has caused problems interfacing
to non-reentrant O/S's and windowing systems (Motif).  The O/S's
are finally catching up and X11R6/Fresco will support
multi-threading in both the C++ and Ada 9X versions.

... Bill

-- 
e-mail: Bill.Beckwith@ois.com       |    Team Ada
Objective Interface Systems, Inc.   | dist, full O-O
1895 Preston White Drive, Suite 250 | multithreading
Reston, VA  22091-5448  U.S.A.      |    built in
