--- jsr166/src/main/intro.html 2003/08/09 20:00:07 1.12 +++ jsr166/src/main/intro.html 2004/12/26 20:13:40 1.20 @@ -10,35 +10,23 @@ by Doug Lea

-This is an updated version of the specification submitted for JCP -Community Draft review. To check for further updates, access a -preliminary prototype release of main functionality, or join a mailing -list discussing this JSR, go to: -http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest -.

+http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest. - Disclaimer. The prototype implementation is experimental -code developed as part of JCP JSR-166 is made available to the -developer community for use as-is. It is not a supported product. Use -it at your own risk. The specification, language and implementation -are subject to change as a result of your feedback. Because these -features have not yet been approved for addition to the Java language, -there is no schedule for their inclusion in a product. - -

Disclaimer. This draft specification was produced -using JDK1.4 tools plus some preprocessing. The resulting javadocs do -not yet correctly render other planned JDK1.5 constructs on which -JSR-166 relies, most notably the use of generic types. We are -releasing this version now (before the availability of JDK1.5-based -tools) because, even though they are misformatted and sometimes lack -proper cross-referencing, they otherwise convey the intended -specifications. +

Note: The javadocs here do not include pre-existing +java classes (for example java.lang.Thread) that were changed +as part of the JSR166 spec. On the other hand, the javadocs here do +include some existing java.util Collection interfaces and classes that +are not part of the spec, but are included because some new methods +implement or inherit from their specifications. +

JSR-166 introduces package java.util.concurrent containing utility classes commonly useful in concurrent programming. Like package java.util, it includes a few small -standardized extensible frameworks, as well as some classes that +standardized extensible frameworks, as well as other classes that provide useful functionality and are otherwise tedious or difficult to implement. @@ -50,8 +38,8 @@ data structures, to high-level execution pools. This diversity reflects the range of contexts in which developers of concurrent programs have been found to require or desire support not previously available in J2SE, which also keeping the -resulting package small; providing only that minimial support for -which it makes sense to standardize. +resulting package small; providing only functionality that has been +found to be worthwhile to standardize.

Descriptions and brief motivations for the main components may be found in the associated package documentation. JSR-166 also includes @@ -68,20 +56,28 @@ java.util.PriorityQueue} is added.

Threads

-Two minor changes are introduced to the {@link java.lang.Thread} -class: It now allows per-thread installation of handlers for uncaught -exceptions. Ths optionally disassociates handlers from ThreadGroups, -which has proven to be too inflexible. (Note that the combination of -features in JSR-166 make ThreadGroups even less likely to be used in -most programs. Perhaps they will eventually be deprecated.) Secondly, -access checks are no longer required when a Thread interrupts -itself. The interrupt method is the only way to -re-assert a thread's interruption status (and in the case of -self-interruption has no other effect than this). The check here -previously caused unjustifiable and uncontrollable failures when -restricted code invoked library code that must reassert interruption -to correctly propagate status when encountering some -InterruptedExceptions. +Three minor changes are introduced to the {@link java.lang.Thread} +class: +

Timing

@@ -98,6 +94,5 @@ designs.
-
Doug Lea