ML Threads

SML/NJ with mutual exclusion primitives similar to those in Modula-2+ and Mesa. Written by Greg Morrisett <jgmorris@cs.cmu.edu>.

Lightweight threads are created using fork. They are pre-emptively scheduled and communicate via shared memory which can be protected by a "mutex" (monitor).

Implementations for Motorola 68020, SPARC and MIPS and VAX- and MIPS-based multiprocessors.

["Adding Threads to Standard ML", E. Cooper et al, CMU-CS-90-186, CMU Dec 1990].