Synchronized and Unsynchronized;
authorwenzelm
Tue, 29 Sep 2009 16:42:29 +0200
changeset 32742 58e5f4ae52a6
parent 32741 bf8881f6e343
child 32760 ea6672bff5dd
Synchronized and Unsynchronized;
NEWS
--- a/NEWS	Tue Sep 29 16:42:02 2009 +0200
+++ b/NEWS	Tue Sep 29 16:42:29 2009 +0200
@@ -182,6 +182,19 @@
 
 *** ML ***
 
+* Structure Synchronized (cf. src/Pure/Concurrent/synchronized.ML)
+provides a high-level programming interface to synchronized state
+variables with atomic update.  This works via pure function
+application within a critical section -- its runtime should be as
+short as possible; beware of deadlocks if critical code is nested,
+either directly or indirectly via other synchronized variables!
+
+* Structure Unsynchronized (cf. src/Pure/ML-Systems/unsynchronized.ML)
+wraps raw ML references, explicitly indicating their non-thread-safe
+behaviour.  The Isar toplevel keeps this structure open, to
+accommodate Proof General as well as quick and dirty interactive
+experiments with references.
+
 * PARALLEL_CHOICE and PARALLEL_GOALS provide basic support for
 parallel tactical reasoning.