ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/extra166y/CustomConcurrentHashMap.java
(Generate patch)

Comparing jsr166/src/extra166y/CustomConcurrentHashMap.java (file contents):
Revision 1.3 by jsr166, Wed Jul 22 17:50:01 2009 UTC vs.
Revision 1.4 by jsr166, Wed Aug 12 04:02:45 2009 UTC

# Line 81 | Line 81 | import sun.misc.Unsafe;
81   * via a background thread common across all maps. Because of the
82   * potential for asynchronous clearing of References, methods such as
83   * <code>containsValue</code> have weaker guarantees than you might
84 < * expect even in the absence of other explicity concurrent
84 > * expect even in the absence of other explicitly concurrent
85   * operations. For example <code>containsValue(value)</code> may
86   * return true even if <code>value</code> is no longer available upon
87   * return from the method.
# Line 275 | Line 275 | public class CustomConcurrentHashMap<K,
275       */
276      static interface NodeFactory extends Serializable {
277          /**
278 <         * Creates and returns a Node using the given parameters
278 >         * Creates and returns a Node using the given parameters.
279 >         *
280           * @param locator an opaque immutable locator for this node
281 <         * @parem key the (nonnull) immutable key
282 <         * @parem value the (nonnull) volatile value;
283 <         * @param cchm the table creating this node.
281 >         * @param key the (non-null) immutable key
282 >         * @param value the (non-null) volatile value
283 >         * @param cchm the table creating this node
284           * @param linkage an opaque volatile linkage for maintaining this node
285           */
286          Node newNode(int locator, Object key, Object value,
# Line 303 | Line 304 | public class CustomConcurrentHashMap<K,
304      static interface Node extends Reclaimable {
305          /**
306           * Returns the key established during the creation of this node.
307 <         * Note: This method is named "get" rether than "getKey"
307 >         * Note: This method is named "get" rather than "getKey"
308           * to simplify usage of Reference keys.
309           * @return the key
310           */
# Line 332 | Line 333 | public class CustomConcurrentHashMap<K,
333          void setValue(Object value);
334  
335          /**
336 <         * Returns the lonkage established during the creation of this
336 >         * Returns the linkage established during the creation of this
337           * node or, if since updated, the linkage set by the most
338           * recent call to setLinkage.
339           * @return the linkage
# Line 629 | Line 630 | public class CustomConcurrentHashMap<K,
630  
631      /**
632       * Returns the segment for possibly inserting into the table
633 <     * associated with given hash, constructing it if necesary.
633 >     * associated with given hash, constructing it if necessary.
634       * @param hash the hash code for the key
635       * @return the segment
636       */
# Line 696 | Line 697 | public class CustomConcurrentHashMap<K,
697       * if no such mapping exists
698       *
699       * @param  key   possible key
700 <     * @return the value associated with the kew or <tt>null</tt> if
700 >     * @return the value associated with the key or <tt>null</tt> if
701       * there is no mapping.
702       * @throws NullPointerException if the specified key is null
703       */
# Line 712 | Line 713 | public class CustomConcurrentHashMap<K,
713      }
714  
715      /**
716 <     * Share dimplementation for put, putIfAbsent
716 >     * Shared implementation for put, putIfAbsent
717       */
718      final V doPut(K key, V value, boolean onlyIfNull) {
719          if (key == null || value == null)
# Line 1078 | Line 1079 | public class CustomConcurrentHashMap<K,
1079       * </pre>
1080       *
1081       * except that the action is performed atomically.  Some
1082 <     * attemmpted operations on this map by other threads may be
1082 >     * attempted operations on this map by other threads may be
1083       * blocked while computation is in progress. Because this function
1084       * is invoked within atomicity control, the computation should be
1085       * short and simple. The most common usage is to construct a new
# Line 1145 | Line 1146 | public class CustomConcurrentHashMap<K,
1146       *     return remove(key);
1147       * </pre>
1148       *
1149 <     * except that the action is performed atomically. Some attemmpted
1149 >     * except that the action is performed atomically. Some attempted
1150       * operations on this map by other threads may be blocked while
1151       * computation is in progress.
1152       *

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines