True multithreading, a la the Java VM???

Bijan Parsia bparsia at email.unc.edu
Tue Jun 6 18:05:18 UTC 2000


On Tue, 6 Jun 2000, Mark Guzdial wrote:

[snip]
> This was one of the the items that we explored in my class last term 
> when we studied the Squeak and Java VMs.  People who know this MUCH 
> better than me will correct my misunderstandings, please, but it 
> looks definitely like a mixed-bag to go with native threading.
> 
> If you put the threading down into the VM, it may get faster,

Er..."putting threading down into the VM" and "mapping threads to some
external thread system" are different.

Typically, given the "weight" of most OS thread systems, most things
become slower. See the Erlang web site for a discussion. Plus, they tend
to be heavier in memory use, too.

Plus, they tend not to fit well into the language model.

But, IIUTC, the main reason for wanting "native threads" is to be able to
make non-blocking system calls. IIRC, the Windows VM does, or did, some of
this wrt sockets. It's easy to mess up.

I'll note that with the apparent exception of the BeOS (and the new
AtheOs), systems which rely on native threads tend to not make use of
threads very much *except* for blocking system calls. And there, they tend
to get wrapped in access modules.

Again, observing the Python world is a good source of information.

Cheers,
Bijan Parsia.





More information about the Squeak-dev mailing list