Lars Brinkhoff <firstname.lastname@example.org> wrote:
| email@example.com (Rob Warnock) writes:
| > I've always wondered: Why do people call within-a-single-O/S-process
| > threads (a.k.a. coroutines) "green"?
| I got curious about this, so I had a Google session.
| According to this article:
| it started with the threads package used in the Green Project:
Ahhh, thanks! I was just curious. The first time I ever heard the "green"
nomenclature for within-process threads was when somebody back at SGI
was porting some bits of DCE to Irix, and for simplicity decided to use
"green" threads instead of Irix's "sproc()" [real multiprocessor] threads.
I had just always called them "coroutines" before that.
p.s. Lest anyone think that the "it started" above refers to within-process
threads (coroutines) instead of just the "green" nomenclature, process-
local threads are a *LOT* older than Java. BLISS-10 had them in 1970
(explicitly in the language, with the built-in EXCHJ call), and Simula-67
had them implicitly in its object system.
[In fact, there was a cute little macro package for BLISS called "POOMAS",
for "POOr MAn's Simula", that used EXCHJ and BLISS structures to emulate
the basic features of Simula. Much later (1982), Bakul Shah & I re-emulated
POOMAS in C, using setjmp/longjmp to emulate BLISS's EXCHJ (to get coroutines).
We used it to write a discrete event simulator where each "object" was an
infinite-loop coroutine (with timed sleeps and event waits) that defined
Rob Warnock, PP-ASEL-IA <firstname.lastname@example.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607