home *** CD-ROM | disk | FTP | other *** search
/ CD/PC Actual Thematic 7: Programming / CDAT7.iso / demos / VisualAge for Java 2.0 Entry / setup / data1.cab / ide-e / IDE / cache / 1PC2M1O (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-16  |  1.2 KB  |  55 lines

  1. package sun.awt;
  2.  
  3. public class AWTFinalizer extends Thread {
  4.    static AWTFinalizer theFinalizer = new AWTFinalizer();
  5.    static AWTFinalizeable theFinalQueue;
  6.  
  7.    static {
  8.       theFinalizer.start();
  9.    }
  10.  
  11.    private AWTFinalizer() {
  12.       super("AWT-Finalizer");
  13.       ((Thread)this).setPriority(9);
  14.       ((Thread)this).setDaemon(true);
  15.    }
  16.  
  17.    public static void addFinalizeable(AWTFinalizeable o) {
  18.       synchronized(theFinalizer){}
  19.  
  20.       try {
  21.          o.setNextFinalizeable(theFinalQueue);
  22.          theFinalQueue = o;
  23.          theFinalizer.notify();
  24.       } catch (Throwable var3) {
  25.          throw var3;
  26.       }
  27.  
  28.    }
  29.  
  30.    public void run() {
  31.       while(true) {
  32.          synchronized(this){}
  33.  
  34.          AWTFinalizeable q;
  35.          try {
  36.             while((q = theFinalQueue) == null) {
  37.                try {
  38.                   this.wait();
  39.                } catch (InterruptedException var5) {
  40.                }
  41.             }
  42.  
  43.             theFinalQueue = null;
  44.          } catch (Throwable var6) {
  45.             throw var6;
  46.          }
  47.  
  48.          while(q != null) {
  49.             q.doFinalization();
  50.             q = q.getNextFinalizeable();
  51.          }
  52.       }
  53.    }
  54. }
  55.