--- old/src/java.desktop/share/classes/java/awt/doc-files/AWTThreadIssues.html 2017-10-23 13:51:00.000000000 -0700 +++ new/src/java.desktop/share/classes/java/awt/doc-files/AWTThreadIssues.html 2017-10-23 13:51:00.000000000 -0700 @@ -1,5 +1,11 @@ + + + + + AWT Threading Issues + - - - - - - + -

AWT Threading Issues

+

AWT Threading Issues

- +

Listeners and threads

Unless otherwise noted all AWT listeners are notified on the event @@ -41,7 +42,7 @@
For example, if a key listeners is added from another key listener, the newly added listener is only notified on subsequent key events. - +

Auto-shutdown

According to @@ -53,7 +54,7 @@ one of two things happens: @@ -84,13 +85,15 @@ posted to the EventQueue can be coalesced) are dispatched:
  • There is at least one alive non-daemon thread while there is at @@ -98,7 +101,7 @@ application (see Component.isDisplayable). -The implications of the third restriction are as follows: +The implications of the third restriction are as follows: It depends on the implementation if and when the non-daemon helper -threads are terminated once all components are made undisplayable. -The implementation-specific details are given below. +threads are terminated once all components are made undisplayable. +The implementation-specific details are given below.

    Implementation-dependent behavior. @@ -147,7 +150,7 @@ Note, that while an application following these recommendations will exit cleanly under normal conditions, it is not guaranteed that it -will exit cleanly in all cases. Two examples: +will exit cleanly in all cases. Two examples: On the other hand, if you require the JVM to continue running even after the application has made all components undisplayable you should start a -non-daemon thread that blocks forever. +non-daemon thread that blocks forever.
    -        <...>
    +        <...>
             Runnable r = new Runnable() {
                 public void run() {
                     Object o = new Object();
    @@ -183,7 +186,7 @@
             Thread t = new Thread(r);
             t.setDaemon(false);
             t.start();
    -        <...>
    +        <...>
     
    The Java™ Virtual Machine Specification