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

📄 natfinalizerthread.cc

📁 gcc的组建
💻 CC
字号:
// natFinalizerThread.cc - Implementation of FinalizerThread native methods./* Copyright (C) 2001, 2004  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.  */#include <config.h>#include <gcj/cni.h>#include <jvm.h>#include <gnu/gcj/runtime/FinalizerThread.h>#include <java-threads.h>static _Jv_Mutex_t mutex;static _Jv_ConditionVariable_t condition;// Initialize lock & condition variable.voidgnu::gcj::runtime::FinalizerThread::init (){  _Jv_MutexInit (&mutex);  _Jv_CondInit (&condition);}// This is called by the GC when a finalizer is ready to be// run.  It sets a flag and wakes up the finalizer thread. Note// that this MUST NOT aquire any Java lock, as this could result in // the hash synchronization code being re-entered: the synchronization// code itself might need to allocate. See PR 16478.voidgnu::gcj::runtime::FinalizerThread::finalizerReady (){#ifdef __JV_NO_THREADS__  _Jv_RunFinalizers ();#else  _Jv_MutexLock (&mutex);  finalizer_ready = true;  _Jv_CondNotify (&condition, &mutex);  _Jv_MutexUnlock (&mutex);#endif}// Main loop for the finalizer thread. voidgnu::gcj::runtime::FinalizerThread::run (){  while (true)    {      _Jv_MutexLock (&mutex);      if (! finalizer_ready)	_Jv_CondWait (&condition, &mutex, 0, 0);      finalizer_ready = false;      _Jv_MutexUnlock (&mutex);      _Jv_RunFinalizers ();    }}

⌨️ 快捷键说明

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