threads (was Re: [gclist] Re: gclist-digest V3 #84)

Bryan O'Sullivan
Tue, 27 Jun 2000 17:16:00 -0700 (PDT)

r> If it comes to that, operating system threads are not a single
r> thing: Solaris has two layers of threads, one "mediumweight" and
r> the other "lightweight" multiplexed on the lower layer.

Yep.  Solaris separates the world into processes, LWPs, and threads.
The former two exist at the OS level; a process may contain multiple
LWPs.  Threads then map many-to-many onto LWPs.

r> (Actually, I don't understand Solaris threads as well as I like.
r> In particular, I don't know whether POSIX threads are a third kind
r> of thread, or a rebranding of one of the other kinds.)

Solaris threads and POSIX threads both sit atop LWPs, and share a fair
amount of internal code.  If you have Solaris source code access,
you'll notice that there's quite a bit of magic in libc to handle Java
runtime issues, too.

Perhaps it might be best to continue this discussion on
comp.programming.threads, as I see a lot of points that have been made
over and over, and little relevance to garbage collection.