src/Pure/ML-Systems/multithreading_polyml.ML
2008-01-02 wenzelm 2008-01-02 added Multithreading.max_threads_value, which maps a value of 0 to number of CPUs;
2007-12-20 wenzelm 2007-12-20 added get/put_data;
2007-12-18 wenzelm 2007-12-18 signature BASIC_MULTITHREADING; added specific serial number generator, which avoid the global CRITICAL lock;
2007-09-24 wenzelm 2007-09-24 replaced interrupt_timeout by TimeLimit.timeLimit (available on SML/NJ and Poly/ML 5.1);
2007-09-21 wenzelm 2007-09-21 tuned;
2007-09-20 wenzelm 2007-09-20 added interrupt_timeout; tuned signature;
2007-08-16 wenzelm 2007-08-16 improved treatment of global interrupts: Thread.EnableBroadcastInterrupt, redefine ignore/raise_interrupt;
2007-08-15 wenzelm 2007-08-15 main: wait_timeout (1 second);
2007-08-10 wenzelm 2007-08-10 (un)interruptible: pass-through original thread attributes;
2007-08-09 wenzelm 2007-08-09 schedule: more precise task model; improved error handling: first failure causes interrupt of all threads; misc cleanup;
2007-08-03 wenzelm 2007-08-03 tuned tracing;
2007-08-01 wenzelm 2007-08-01 tracing: level;
2007-08-01 wenzelm 2007-08-01 oops -- fixed syntax;
2007-08-01 wenzelm 2007-08-01 "running": PROTECTED wakeup; "cont": actually invoke wakeup!!
2007-07-30 wenzelm 2007-07-30 dequeue: wait loop while PROTECTED -- avoids race condition;
2007-07-29 wenzelm 2007-07-29 tuned msgs; tuned;
2007-07-29 wenzelm 2007-07-29 more informative tracing; tuned;
2007-07-29 wenzelm 2007-07-29 more informative tracing;
2007-07-29 wenzelm 2007-07-29 critical: improved diagostics; schedule: proper broadcast on wakeup condition;
2007-07-25 wenzelm 2007-07-25 renamed CRITICAL' to NAMED_CRITICAL; tuned messages;
2007-07-25 wenzelm 2007-07-25 added trace flag, official tracing operation; added named CRITICAL'; schedule: tuned signature, actually observe dependencies on running tasks;
2007-07-24 wenzelm 2007-07-24 renamed number_of_threads to max_threads; added schedule operator;
2007-07-24 wenzelm 2007-07-24 Multithreading in Poly/ML (version 5.1).