You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2018/10/17 19:12:01 UTC

svn commit: r1844153 - /uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java

Author: schor
Date: Wed Oct 17 19:12:01 2018
New Revision: 1844153

URL: http://svn.apache.org/viewvc?rev=1844153&view=rev
Log:
[UIMA-5842] comment update

Modified:
    uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java

Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java?rev=1844153&r1=1844152&r2=1844153&view=diff
==============================================================================
--- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java (original)
+++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java Wed Oct 17 19:12:01 2018
@@ -560,9 +560,14 @@ public class CASImpl extends AbstractCas
      */
     private boolean isId2Fs;
     
-    /***********************************
-     * C A S   S T A T E    management *
-     ***********************************/
+    /******************************************************************************************
+     * C A S   S T A T E    management                                                        *
+     *    Cas state is implemented in a way to allow the Java to efficiently                  * 
+     *    access the state test without synchronization or "voliatile" memory accessing,      *
+     *    while at the same time, allowing for an occasional cross-thread memory invalidation *
+     *    when the state is changed.  This is done using a MutableCallSite plus that          *
+     *    objects "syncAll" method.                                                           *
+     ******************************************************************************************/
     private final EnumSet<CasState> casState = EnumSet.noneOf(CasState.class); 
 
     private static final MethodType noArgBoolean = MethodType.methodType(boolean.class);