ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/intro.html
(Generate patch)

Comparing jsr166/src/main/intro.html (file contents):
Revision 1.10 by tim, Wed Aug 6 16:04:58 2003 UTC vs.
Revision 1.25 by jsr166, Fri Mar 25 05:38:25 2016 UTC

# Line 1 | Line 1
1   <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2   <html>
3   <head>
4 <   <title>JSR 166 Community Review Draft Introduction.</title>
4 >   <title>JSR 166 Introduction.</title>
5    </head>
6  
7    <body bgcolor="#ffffee" vlink="#0000aa" link="#cc0000">
8 <  <h1>JSR 166 Community Review Draft Introduction.</h1>
8 >  <h1>JSR 166 Introduction.</h1>
9  
10    by <a href="http://gee.cs.oswego.edu/dl">Doug Lea</a>
11    <p>
12  
13 < To chack for updates to this draft, access a preliminary prototype
14 < release of main functionality, or join a mailing list discussing this
15 < JSR, go to: <A
13 > This is maintenance repository of JSR-166 specifications.  For further
14 > information, go to: <A
15   HREF="http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest">
16 < http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest</A>
18 < .
19 < <p>
20 <
21 < <em> <b>Disclaimer</b>. The prototype implementation is experimental
22 < code developed as part of JCP JSR-166 is made available to the
23 < developer community for use as-is. It is not a supported product. Use
24 < it at your own risk. The specification, language and implementation
25 < are subject to change as a result of your feedback. Because these
26 < features have not yet been approved for addition to the Java language,
27 < there is no schedule for their inclusion in a product.  </em>
28 <
29 < <p> <em> <b>Disclaimer</b>.  This draft specification was produced
30 < using JDK1.4 tools plus some preprocessing. The resulting javadocs do
31 < not yet correctly render other planned JDK1.5 constructs on which
32 < JSR-166 relies, most notably the use of generic types. We are
33 < releasing this version now (before the availability of JDK1.5-based
34 < tools) because, even though they are misformatted and sometimes lack
35 < proper cross-referencing, they otherwise convey the intended
36 < specifications.  </em>
16 > http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest</A>.
17  
18 < <p> JSR-166 introduces package <tt>java.util.concurrent</tt>
18 > <p>JSR-166 introduces package <code>java.util.concurrent</code>
19   containing utility classes commonly useful in concurrent
20 < programming. Like package <tt>java.util</tt>, it includes a few small
21 < standardized extensible frameworks, as well as some classes that
20 > programming. Like package <code>java.util</code>, it includes a few small
21 > standardized extensible frameworks, as well as other classes that
22   provide useful functionality and are otherwise tedious or difficult to
23   implement.
24  
25 < <p>JSR-166 focusses on breadth, providing critical functionality
25 > <p>JSR-166 focuses on breadth, providing critical functionality
26   useful across a wide range of concurrent programming styles and
27   applications, ranging from low-level atomic operations, to
28   customizable locks and synchronization aids, to various concurrent
29   data structures, to high-level execution agents including thread
30   pools. This diversity reflects the range of contexts in which
31   developers of concurrent programs have been found to require or desire
32 < support not previously available in J2SE, which also keeping the
33 < resulting package small; providing only that minimial support for
34 < which it makes sense to standardize.
32 > support not previously available in J2SE, while also keeping the
33 > resulting package small; providing only functionality that has been
34 > found to be worthwhile to standardize.
35  
36   <p>Descriptions and brief motivations for the main components may be
37   found in the associated package documentation.  JSR-166 also includes
# Line 62 | Line 42 | java.util.concurrent.  Here are brief de
42  
43   A basic (nonblocking) {@link java.util.Queue} interface extending
44   {@link java.util.Collection} is introduced into
45 < <tt>java.util</tt>. Existing class {@link java.util.LinkedList} is
45 > <code>java.util</code>. Existing class {@link java.util.LinkedList} is
46   adapted to support Queue, and a new non-thread-safe {@link
47   java.util.PriorityQueue} is added.
48  
49   <h2>Threads</h2>
50  
51 < Two minor changes are introduced to the {@link java.lang.Thread}
52 < class: It now allows per-thread installation of handlers for uncaught
53 < exceptions. Ths optionally disassociates handlers from ThreadGroups,
54 < which has proven to be too inflexible. (Note that the combination of
55 < features in JSR-166 make ThreadGroups even less likely to be used in
56 < most programs. Perhaps they will eventually be deprecated.) Secondly,
57 < access checks are no longer required when a Thread interrupts
58 < <em>itself</em>.  The <tt>interrupt</tt> method is the only way to
59 < re-assert a thread's interruption status (and in the case of
60 < self-interruption has no other effect than this).  The check here
61 < previously caused unjustifiable and uncontrollable failures when
62 < restricted code invoked library code that must reassert interruption
63 < to correctly propagate status when encountering some
64 < <tt>InterruptedExceptions</tt>.
51 > Three minor changes are introduced to the {@link java.lang.Thread}
52 > class:
53 > <ul>
54 >  <li> It now allows per-thread installation of handlers for uncaught
55 >  exceptions. This optionally disassociates handlers from ThreadGroups,
56 >  which has proven to be too inflexible. (Note that the combination of
57 >  features in JSR-166 make ThreadGroups even less likely to be used in
58 >  most programs. Perhaps they will eventually be deprecated.)
59 >
60 >  <li> Access checks are no longer required when a Thread interrupts
61 >  <em>itself</em>.  The <code>interrupt</code> method is the only way to
62 >  re-assert a thread's interruption status (and in the case of
63 >  self-interruption has no other effect than this).  The check here
64 >  previously caused unjustifiable and uncontrollable failures when
65 >  restricted code invoked library code that must reassert interruption
66 >  to correctly propagate status when encountering some
67 >  <code>InterruptedExceptions</code>.
68 >  <li> The <code>destroy</code> method, which has never been implemented,
69 >  has finally been deprecated. This is just a spec change, reflecting
70 >  the fact that the reason it has never been implemented is that
71 >  it was undesirable and unworkable.
72 > </ul>
73  
74   <h2>Timing</h2>
75  
76 < Method <tt>nanoTime</tt> is added to {@link java.lang.System}. It
76 > Method <code>nanoTime</code> is added to {@link java.lang.System}. It
77   provides a high-precision timing facility that is distinct from and
78 < uncoordinated with <tt>System.currentTimeMillis</tt>.
78 > uncoordinated with <code>System.currentTimeMillis</code>.
79  
80   <h2>Removing ThreadLocals</h2>
81  
# Line 98 | Line 86 | designs.
86  
87  
88    <hr>
101  <address><A HREF="http://gee.cs.oswego.edu/dl">Doug Lea</A></address>
89   </body>
90   </html>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines