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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.14 - (view) (download) (as text)

1 : tim 1.1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 :     <html>
3 :     <head>
4 : dl 1.12 <title>JSR 166 Introduction.</title>
5 : tim 1.1 </head>
6 :    
7 :     <body bgcolor="#ffffee" vlink="#0000aa" link="#cc0000">
8 : dl 1.12 <h1>JSR 166 Introduction.</h1>
9 : tim 1.1
10 :     by <a href="http://gee.cs.oswego.edu/dl">Doug Lea</a>
11 :     <p>
12 :    
13 : dl 1.14 This is an updated version of the specification submitted for JCP Public
14 :     Review. To check for further updates, access a preliminary prototype
15 :     release of main functionality, or join a mailing list discussing
16 :     JSR-166, go to: <A
17 : dl 1.9 HREF="http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest">
18 : dl 1.14 http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest</A>.
19 : dl 1.7
20 : dl 1.14 <p><em>Note: The javadocs here includes some existing java.util
21 :     Collection interfaces and classes that are not part of the JSR-166
22 :     spec, but are included because JSR-166 methods implement or inherit
23 :     from their specifications.</em>
24 : dl 1.9
25 :     <p> JSR-166 introduces package <tt>java.util.concurrent</tt>
26 :     containing utility classes commonly useful in concurrent
27 :     programming. Like package <tt>java.util</tt>, it includes a few small
28 :     standardized extensible frameworks, as well as some classes that
29 :     provide useful functionality and are otherwise tedious or difficult to
30 :     implement.
31 :    
32 :     <p>JSR-166 focusses on breadth, providing critical functionality
33 :     useful across a wide range of concurrent programming styles and
34 :     applications, ranging from low-level atomic operations, to
35 :     customizable locks and synchronization aids, to various concurrent
36 :     data structures, to high-level execution agents including thread
37 :     pools. This diversity reflects the range of contexts in which
38 :     developers of concurrent programs have been found to require or desire
39 :     support not previously available in J2SE, which also keeping the
40 : dl 1.14 resulting package small; providing only functionality that it makes
41 :     sense to standardize.
42 : dl 1.9
43 :     <p>Descriptions and brief motivations for the main components may be
44 :     found in the associated package documentation. JSR-166 also includes
45 :     a few changes and additions in packages outside of
46 :     java.util.concurrent. Here are brief descriptions.
47 : tim 1.1
48 :     <h2>Queues</h2>
49 :    
50 : dl 1.3 A basic (nonblocking) {@link java.util.Queue} interface extending
51 : dl 1.9 {@link java.util.Collection} is introduced into
52 :     <tt>java.util</tt>. Existing class {@link java.util.LinkedList} is
53 :     adapted to support Queue, and a new non-thread-safe {@link
54 :     java.util.PriorityQueue} is added.
55 :    
56 :     <h2>Threads</h2>
57 :    
58 : dl 1.13 Three minor changes are introduced to the {@link java.lang.Thread}
59 :     class:
60 :     <ul>
61 :     <li> It now allows per-thread installation of handlers for uncaught
62 :     exceptions. Ths optionally disassociates handlers from ThreadGroups,
63 :     which has proven to be too inflexible. (Note that the combination of
64 :     features in JSR-166 make ThreadGroups even less likely to be used in
65 :     most programs. Perhaps they will eventually be deprecated.)
66 :    
67 :     <li> Access checks are no longer required when a Thread interrupts
68 :     <em>itself</em>. The <tt>interrupt</tt> method is the only way to
69 :     re-assert a thread's interruption status (and in the case of
70 :     self-interruption has no other effect than this). The check here
71 :     previously caused unjustifiable and uncontrollable failures when
72 :     restricted code invoked library code that must reassert interruption
73 :     to correctly propagate status when encountering some
74 :     <tt>InterruptedExceptions</tt>.
75 :     <li> The <tt>destroy</tt> method, which has never been implemented,
76 :     has finally been deprecated. This is just a spec change, reflecting
77 :     the fact that that the reason it has never been implmented is that
78 :     it was undesirable and unworkable.
79 :     </ul>
80 : dl 1.9
81 :     <h2>Timing</h2>
82 :    
83 :     Method <tt>nanoTime</tt> is added to {@link java.lang.System}. It
84 :     provides a high-precision timing facility that is distinct from and
85 :     uncoordinated with <tt>System.currentTimeMillis</tt>.
86 : dl 1.8
87 :     <h2>Removing ThreadLocals</h2>
88 :    
89 : dl 1.9 The {@link java.lang.ThreadLocal} class now supports a means to remove
90 :     a ThreadLocal, which is needed in some thread-pool and worker-thread
91 : dl 1.2 designs.
92 : dl 1.9
93 :    
94 : tim 1.1
95 :     <hr>
96 :     </body>
97 :     </html>

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8