< prev index next >

src/java.desktop/share/classes/java/awt/doc-files/AWTThreadIssues.html

Print this page

        

@@ -1,7 +1,13 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8"/>
+  <title>AWT Threading Issues</title>
+</head>
 <!--
- Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
  This code is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License version 2 only, as
  published by the Free Software Foundation.  Oracle designates this

@@ -21,29 +27,24 @@
  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  or visit www.oracle.com if you need additional information or have any
  questions.
 -->
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title></title>
-</head>
-<body bgcolor=white>
+<body>
 
-<h1 align=center>AWT Threading Issues</h1>
+<h1>AWT Threading Issues</h1>
 
-<a name="ListenersThreads"></a>
+<a id="ListenersThreads"></a>
 <h2>Listeners and threads</h2>
 
 Unless otherwise noted all AWT listeners are notified on the event
 dispatch thread. It is safe to remove/add listeners from any thread
 during dispatching, but the changes only effect subsequent notification.
 <br>For example, if a key listeners is added from another key listener, the
 newly added listener is only notified on subsequent key events.
 
-<a name="Autoshutdown"></a>
+<a id="Autoshutdown"></a>
 <h2>Auto-shutdown</h2>
 
 According to
 <cite>The Java&trade; Virtual Machine Specification</cite>,
 sections 2.17.9 and 2.19,

@@ -82,15 +83,17 @@
   <li> <code>AWTEvents</code> which were actually enqueued to a
        particular <code>EventQueue</code> (note that events being
        posted to the <code>EventQueue</code> can be coalesced) are
        dispatched:
        <ul>
-           <li> Sequentially.
-           <dl><dd> That is, it is not permitted that several events from
+           <li>
+           <dl><dt>Sequentially.
+             <dd> That is, it is not permitted that several events from
                 this queue are dispatched simultaneously. </dd></dl>
-           <li> In the same order as they are enqueued.
-           <dl><dd> That is, if <code>AWTEvent</code>&nbsp;A is enqueued
+           <li>
+           <dl><dt>In the same order as they are enqueued.
+             <dd> That is, if <code>AWTEvent</code>&nbsp;A is enqueued
                 to the <code>EventQueue</code> before
                 <code>AWTEvent</code>&nbsp;B then event B will not be 
                 dispatched before event A.</dd></dl>
        </ul>
   <li> There is at least one alive non-daemon thread while there is at

@@ -166,11 +169,11 @@
 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. 
 
 <pre>
-        <...>
+        &lt;...&gt;
         Runnable r = new Runnable() {
             public void run() {
                 Object o = new Object();
                 try {
                     synchronized (o) {

@@ -181,11 +184,11 @@
             }
         };
         Thread t = new Thread(r);
         t.setDaemon(false);
         t.start();
-        <...>
+        &lt;...&gt;
 </pre>
 
 <cite>The Java&trade; Virtual Machine Specification</cite>
  guarantees
 that the JVM doesn't exit until this thread terminates.
< prev index next >