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.8 by dl, Mon Jul 14 16:35:59 2003 UTC vs.
Revision 1.9 by dl, Tue Aug 5 14:36:04 2003 UTC

# Line 1 | Line 1
1   <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2   <html>
3   <head>
4 <   <title>JSR 166 Snapshot Introduction.</title>
4 >   <title>JSR 166 Community Review Draft Introduction.</title>
5    </head>
6  
7    <body bgcolor="#ffffee" vlink="#0000aa" link="#cc0000">
8 <  <h1>JSR 166 Snapshot Introduction.</h1>
8 >  <h1>JJSR 166 Community Review Draft Introduction.</h1>
9  
10    by <a href="http://gee.cs.oswego.edu/dl">Doug Lea</a>
11    <p>
12  
13 < To join a mailing list discussing this JSR, go to:
14 < <A HREF="http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest"> http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest</A> .
15 <
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
16 > HREF="http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest">
17 > http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest</A>
18 > .
19   <p>
17 <em>
18 Disclaimer - This prototype is experimental code developed as part of
19 JCP JSR166 and made available to the developer community for use
20 as-is. It is not a supported product. Use it at your own risk. The
21 specification, language and implementation are subject to change as a
22 result of your feedback. Because these features have not yet been
23 approved for addition to the Java language, there is no schedule for
24 their inclusion in a product.
25 </em>
26
27 <p> JSR166 introduces package <tt>java.util.concurrent</tt> containing
28 utility classes commonly useful in concurrent programming. Like
29 package java.util, it includes a few small standardized extensible
30 frameworks, as well as some classes that provide useful functionality
31 and are otherwise tedious or difficult to implement. JSR-166 focusses
32 on breadth, prviding critical functionality useful across a wide range
33 of concurrent programming styles and applications, ranging from
34 low-level atomic operations, to customizable locks and synchronization
35 aids, to various concurrent data structures, to thread pools.
36 Descriptions of the main components may be found in the associated
37 package documentation.
20  
21 < <p> JSR166 also includes a few changes and additions in packages
22 < outside of java.util.concurrent.  Here are brief descriptions.
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>
37 >
38 > <p> JSR-166 introduces package <tt>java.util.concurrent</tt>
39 > containing utility classes commonly useful in concurrent
40 > programming. Like package <tt>java.util</tt>, it includes a few small
41 > standardized extensible frameworks, as well as some classes that
42 > provide useful functionality and are otherwise tedious or difficult to
43 > implement.
44 >
45 > <p>JSR-166 focusses on breadth, providing critical functionality
46 > useful across a wide range of concurrent programming styles and
47 > applications, ranging from low-level atomic operations, to
48 > customizable locks and synchronization aids, to various concurrent
49 > data structures, to high-level execution agents including thread
50 > pools. This diversity reflects the range of contexts in which
51 > developers of concurrent programs have been found to require or desire
52 > support not previously available in J2SE, which also keeping the
53 > resulting package small; providing only that minimial support for
54 > which it makes sense to standardize.
55 >
56 > <p>Descriptions and brief motivations for the main components may be
57 > found in the associated package documentation.  JSR-166 also includes
58 > a few changes and additions in packages outside of
59 > java.util.concurrent.  Here are brief descriptions.
60  
61   <h2>Queues</h2>
62  
63   A basic (nonblocking) {@link java.util.Queue} interface extending
64 < java.util.Collection is introduced into java.util. Existing class
65 < java.util.LinkedList is adapted to support Queue, and a new
66 < non-thread-safe {@link java.util.PriorityQueue} is added.
67 <
68 < <h2>Uncaught Exception Handlers</h2>
69 <
70 < The java.lang.Thread class is modified to allow per-thread
71 < installation of handlers for uncaught exceptions. Ths optionally
72 < disassociates these handlers from ThreadGroups, which has proven to be
73 < too inflexible in many multithreaded programs. (Note that the
74 < combination of features in JSR166 make ThreadGroups even less likely
75 < to be used in most programs. Perhaps they will eventually be
76 < deprecated.)
77 <
78 < <h2>High precision timing</h2>
79 <
80 < Method <tt>nanoTime</tt> is added to <tt>java.lang.System</tt>. It
81 < provides a high-precision timing facility that is distinct from
82 < and uncoordinated with <tt>System.currentTimeMillis</tt>.
64 > {@link java.util.Collection} is introduced into
65 > <tt>java.util</tt>. Existing class {@link java.util.LinkedList} is
66 > adapted to support Queue, and a new non-thread-safe {@link
67 > java.util.PriorityQueue} is added.
68 >
69 > <h2>Threads</h2>
70 >
71 > Two minor changes are introduced to the {@link java.lang.Thread}
72 > class: It now allows per-thread installation of handlers for uncaught
73 > exceptions. Ths optionally disassociates handlers from ThreadGroups,
74 > which has proven to be too inflexible. (Note that the combination of
75 > features in JSR-166 make ThreadGroups even less likely to be used in
76 > most programs. Perhaps they will eventually be deprecated.) Secondly,
77 > access checks are no longer required when a Thread interrupts
78 > <em>itself</em>.  The <tt>interrupt</tt> method is the only way to
79 > re-assert a thread's interruption status (and in the case of
80 > self-interruption has no other effect than this).  The check here
81 > previously caused unjustifiable and uncontrollable failures when
82 > restricted code invoked library code that must reassert interruption
83 > to correctly propagate status when encountering some
84 > <tt>InterruptedExceptions</tt>.
85 >
86 > <h2>Timing</h2>
87 >
88 > Method <tt>nanoTime</tt> is added to {@link java.lang.System}. It
89 > provides a high-precision timing facility that is distinct from and
90 > uncoordinated with <tt>System.currentTimeMillis</tt>.
91  
92   <h2>Removing ThreadLocals</h2>
93  
94 < The java.lang.ThreadLocal class now supports a means to remove a
95 < ThreadLocal, which is needed in some thread-pool and worker-thread
94 > The {@link java.lang.ThreadLocal} class now supports a means to remove
95 > a ThreadLocal, which is needed in some thread-pool and worker-thread
96   designs.
97  
98 +
99 +
100    <hr>
101    <address><A HREF="http://gee.cs.oswego.edu/dl">Doug Lea</A></address>
102   </body>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines