⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 finalizerthread.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
字号:
// FinalizerThread.java -- Thread in which finalizers are run./* Copyright (C) 2001  Free Software Foundation   This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License.  Please consult the file "LIBGCJ_LICENSE" fordetails.  */package gnu.gcj.runtime;/** * @author Tom Tromey <tromey@redhat.com> * @date October 3, 2001 */public final class FinalizerThread extends Thread{  // Finalizers must be run in a thread with no Java-visible locks  // held.  This qualifies because we don't make the lock visible.  private static final Object lock = new Object ();  // This is true if the finalizer thread started successfully.  It  // might be false if, for instance, there are no threads on the  // current platform.  In this situation we run finalizers in the  // caller's thread.  private static boolean thread_started = false;  public FinalizerThread ()  {    super ("LibgcjInternalFinalizerThread");    setDaemon (true);  }  // This is called by the runtime when a finalizer is ready to be  // run.  It simply wakes up the finalizer thread.  public static void finalizerReady ()  {    synchronized (lock)      {	if (! thread_started)	  runFinalizers ();	else	  lock.notify ();      }  }  // Actually run the finalizers.  private static native void runFinalizers ();  public void run ()  {    // Wait on a lock.  Whenever we wake up, try to invoke the    // finalizers.    synchronized (lock)      {	thread_started = true;	while (true)	  {	    try	      {		lock.wait ();	      }	    catch (InterruptedException _)	      {		// Just ignore it.  It doesn't hurt to run finalizers		// when none are pending.	      }	    runFinalizers ();	  }      }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -