[cvs] / jsr166 / src / main / intro.html Repository:
ViewVC logotype

Diff of /jsr166/src/main/intro.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.15, Mon Dec 29 19:05:13 2003 UTC revision 1.24, Mon Aug 3 19:24:14 2015 UTC
# Line 10  Line 10 
10    by <a href="http://gee.cs.oswego.edu/dl">Doug Lea</a>    by <a href="http://gee.cs.oswego.edu/dl">Doug Lea</a>
11    <p>    <p>
12    
13  This is an updated version of the specification submitted for JCP Public  This is maintenance repository of JSR166 specifications.  For further
14  Review.  To check for further updates, access a preliminary prototype  information, go to: <A
 release of main functionality, or join a mailing list discussing  
 JSR-166, go to: <A  
15  HREF="http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest">  HREF="http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest">
16  http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest</A>.  http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest</A>.
17    
18  <p><em>Note: The javadocs here includes some existing java.util  <p><em>Note: The javadocs here do <em>not</em> include pre-existing
19  Collection interfaces and classes that are not part of the JSR-166  java classes (for example <code>java.lang.Thread</code>) that were changed
20  spec, but are included because JSR-166 methods implement or inherit  as part of the JSR166 spec.  On the other hand, the javadocs here do
21  from their specifications.</em>  include some existing java.util Collection interfaces and classes that
22    are not part of the spec, but are included because some new methods
23    implement or inherit from their specifications.
24    </em>
25    
26  <p> JSR-166 introduces package <tt>java.util.concurrent</tt>  <p>JSR-166 introduces package <code>java.util.concurrent</code>
27  containing utility classes commonly useful in concurrent  containing utility classes commonly useful in concurrent
28  programming. Like package <tt>java.util</tt>, it includes a few small  programming. Like package <code>java.util</code>, it includes a few small
29  standardized extensible frameworks, as well as some classes that  standardized extensible frameworks, as well as other classes that
30  provide useful functionality and are otherwise tedious or difficult to  provide useful functionality and are otherwise tedious or difficult to
31  implement.  implement.
32    
33  <p>JSR-166 focusses on breadth, providing critical functionality  <p>JSR-166 focuses on breadth, providing critical functionality
34  useful across a wide range of concurrent programming styles and  useful across a wide range of concurrent programming styles and
35  applications, ranging from low-level atomic operations, to  applications, ranging from low-level atomic operations, to
36  customizable locks and synchronization aids, to various concurrent  customizable locks and synchronization aids, to various concurrent
# Line 37  Line 38 
38  pools. This diversity reflects the range of contexts in which  pools. This diversity reflects the range of contexts in which
39  developers of concurrent programs have been found to require or desire  developers of concurrent programs have been found to require or desire
40  support not previously available in J2SE, which also keeping the  support not previously available in J2SE, which also keeping the
41  resulting package small; providing only functionality that it makes  resulting package small; providing only functionality that has been
42  sense to standardize.  found to be worthwhile to standardize.
43    
44  <p>Descriptions and brief motivations for the main components may be  <p>Descriptions and brief motivations for the main components may be
45  found in the associated package documentation.  JSR-166 also includes  found in the associated package documentation.  JSR-166 also includes
# Line 49  Line 50 
50    
51  A basic (nonblocking) {@link java.util.Queue} interface extending  A basic (nonblocking) {@link java.util.Queue} interface extending
52  {@link java.util.Collection} is introduced into  {@link java.util.Collection} is introduced into
53  <tt>java.util</tt>. Existing class {@link java.util.LinkedList} is  <code>java.util</code>. Existing class {@link java.util.LinkedList} is
54  adapted to support Queue, and a new non-thread-safe {@link  adapted to support Queue, and a new non-thread-safe {@link
55  java.util.PriorityQueue} is added.  java.util.PriorityQueue} is added.
56    
# Line 59  Line 60 
60  class:  class:
61  <ul>  <ul>
62    <li> It now allows per-thread installation of handlers for uncaught    <li> It now allows per-thread installation of handlers for uncaught
63    exceptions. Ths optionally disassociates handlers from ThreadGroups,    exceptions. This optionally disassociates handlers from ThreadGroups,
64    which has proven to be too inflexible. (Note that the combination of    which has proven to be too inflexible. (Note that the combination of
65    features in JSR-166 make ThreadGroups even less likely to be used in    features in JSR-166 make ThreadGroups even less likely to be used in
66    most programs. Perhaps they will eventually be deprecated.)    most programs. Perhaps they will eventually be deprecated.)
67    
68    <li> Access checks are no longer required when a Thread interrupts    <li> Access checks are no longer required when a Thread interrupts
69    <em>itself</em>.  The <tt>interrupt</tt> method is the only way to    <em>itself</em>.  The <code>interrupt</code> method is the only way to
70    re-assert a thread's interruption status (and in the case of    re-assert a thread's interruption status (and in the case of
71    self-interruption has no other effect than this).  The check here    self-interruption has no other effect than this).  The check here
72    previously caused unjustifiable and uncontrollable failures when    previously caused unjustifiable and uncontrollable failures when
73    restricted code invoked library code that must reassert interruption    restricted code invoked library code that must reassert interruption
74    to correctly propagate status when encountering some    to correctly propagate status when encountering some
75    <tt>InterruptedExceptions</tt>.    <code>InterruptedExceptions</code>.
76    <li> The <tt>destroy</tt> method, which has never been implemented,    <li> The <code>destroy</code> method, which has never been implemented,
77    has finally been deprecated. This is just a spec change, reflecting    has finally been deprecated. This is just a spec change, reflecting
78    the fact that that the reason it has never been implemented is that    the fact that the reason it has never been implemented is that
79    it was undesirable and unworkable.    it was undesirable and unworkable.
80  </ul>  </ul>
81    
82  <h2>Timing</h2>  <h2>Timing</h2>
83    
84  Method <tt>nanoTime</tt> is added to {@link java.lang.System}. It  Method <code>nanoTime</code> is added to {@link java.lang.System}. It
85  provides a high-precision timing facility that is distinct from and  provides a high-precision timing facility that is distinct from and
86  uncoordinated with <tt>System.currentTimeMillis</tt>.  uncoordinated with <code>System.currentTimeMillis</code>.
87    
88  <h2>Removing ThreadLocals</h2>  <h2>Removing ThreadLocals</h2>
89    

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.24

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8