ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/intro.html
Revision: 1.8
Committed: Mon Jul 14 16:35:59 2003 UTC (20 years, 10 months ago) by dl
Content type: text/html
Branch: MAIN
CVS Tags: JSR166_PRELIMINARY_TEST_RELEASE_2
Changes since 1.7: +22 -11 lines
Log Message:
Updated to include nanoTime

File Contents

# Content
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <title>JSR 166 Snapshot Introduction.</title>
5 </head>
6
7 <body bgcolor="#ffffee" vlink="#0000aa" link="#cc0000">
8 <h1>JSR 166 Snapshot 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
16 <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.
38
39 <p> JSR166 also includes a few changes and additions in packages
40 outside of java.util.concurrent. Here are brief descriptions.
41
42 <h2>Queues</h2>
43
44 A basic (nonblocking) {@link java.util.Queue} interface extending
45 java.util.Collection is introduced into java.util. Existing class
46 java.util.LinkedList is adapted to support Queue, and a new
47 non-thread-safe {@link java.util.PriorityQueue} is added.
48
49 <h2>Uncaught Exception Handlers</h2>
50
51 The java.lang.Thread class is modified to allow per-thread
52 installation of handlers for uncaught exceptions. Ths optionally
53 disassociates these handlers from ThreadGroups, which has proven to be
54 too inflexible in many multithreaded programs. (Note that the
55 combination of features in JSR166 make ThreadGroups even less likely
56 to be used in most programs. Perhaps they will eventually be
57 deprecated.)
58
59 <h2>High precision timing</h2>
60
61 Method <tt>nanoTime</tt> is added to <tt>java.lang.System</tt>. It
62 provides a high-precision timing facility that is distinct from
63 and uncoordinated with <tt>System.currentTimeMillis</tt>.
64
65 <h2>Removing ThreadLocals</h2>
66
67 The java.lang.ThreadLocal class now supports a means to remove a
68 ThreadLocal, which is needed in some thread-pool and worker-thread
69 designs.
70
71 <hr>
72 <address><A HREF="http://gee.cs.oswego.edu/dl">Doug Lea</A></address>
73 </body>
74 </html>