2008-03-11 ago schedule main control: more robust interrupting of potentially running threads;
2008-03-06 ago system_out: threaded version does not work for 5.1;
2008-02-19 ago added system_out (back to multithreaded version -- still suffers from non-interruptible wait in Poly/ML 5.1);
2008-02-16 ago removed managed_process (cf. General/shell_process.ML);
2008-02-15 ago support for managed external processes;
2008-01-02 ago added Multithreading.max_threads_value, which maps a value of 0 to number of CPUs;
2007-12-20 ago added get/put_data;
2007-12-18 ago signature BASIC_MULTITHREADING;
2007-09-24 ago replaced interrupt_timeout by TimeLimit.timeLimit (available on SML/NJ and Poly/ML 5.1);
2007-09-21 ago tuned;
2007-09-20 ago added interrupt_timeout;
2007-08-16 ago improved treatment of global interrupts: Thread.EnableBroadcastInterrupt, redefine ignore/raise_interrupt;
2007-08-15 ago main: wait_timeout (1 second);
2007-08-10 ago (un)interruptible: pass-through original thread attributes;
2007-08-09 ago schedule: more precise task model;
2007-08-03 ago tuned tracing;
2007-08-01 ago tracing: level;
2007-08-01 ago oops -- fixed syntax;
2007-08-01 ago "running": PROTECTED wakeup;
2007-07-30 ago dequeue: wait loop while PROTECTED -- avoids race condition;
2007-07-29 ago tuned msgs;
2007-07-29 ago more informative tracing;
2007-07-29 ago more informative tracing;
2007-07-29 ago critical: improved diagostics;
2007-07-25 ago renamed CRITICAL' to NAMED_CRITICAL;
2007-07-25 ago added trace flag, official tracing operation;
2007-07-24 ago renamed number_of_threads to max_threads;
2007-07-24 ago Multithreading in Poly/ML (version 5.1).