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

📄 threadpool.java

📁 Quartz is a full-featured, open source job scheduling system that can be integrated with, or used al
💻 JAVA
字号:
/*  * Copyright 2004-2005 OpenSymphony  *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not  * use this file except in compliance with the License. You may obtain a copy  * of the License at  *  *   http://www.apache.org/licenses/LICENSE-2.0  *    * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the  * License for the specific language governing permissions and limitations  * under the License. *  *//* * Previously Copyright (c) 2001-2004 James House */package org.quartz.spi;import org.quartz.SchedulerConfigException;/** * <p> * The interface to be implemented by classes that want to provide a thread * pool for the <code>{@link org.quartz.core.QuartzScheduler}</code>'s use. * </p> * * <p> * <code>ThreadPool</code> implementation instances should ideally be made * for the sole use of Quartz.  Most importantly, when the method * <code>blockForAvailableThreads()</code> returns a value of 1 or greater, * there must still be at least one available thread in the pool when the * method <code>runInThread(Runnable)</code> is called a few moments (or * many moments) later.  If this assumption does not hold true, it may * result in extra JobStore queries and updates, and if clustering features * are being used, it may result in greater imballance of load. * </p> * * @see org.quartz.core.QuartzScheduler *  * @author James House */public interface ThreadPool {    /*     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     *      * Interface.     *      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     */    /**     * <p>     * Execute the given <code>{@link java.lang.Runnable}</code> in the next     * available <code>Thread</code>.     * </p>     *      * <p>     * The implementation of this interface should not throw exceptions unless     * there is a serious problem (i.e. a serious misconfiguration). If there     * are no immediately available threads <code>false</code> should be returned.     * </p>     *     * @return true, if the runnable was assigned to run on a Thread.     */    boolean runInThread(Runnable runnable);    /**     * <p>     * Determines the number of threads that are currently available in in     * the pool.  Useful for determining the number of times     * <code>runInThread(Runnable)</code> can be called before returning     * false.     * </p>     *     * <p>The implementation of this method should block until there is at     * least one available thread.</p>     *     * @return the number of currently available threads     */    int blockForAvailableThreads();    /**     * <p>     * Called by the QuartzScheduler before the <code>ThreadPool</code> is     * used, in order to give the it a chance to initialize.     * </p>     */    void initialize() throws SchedulerConfigException;    /**     * <p>     * Called by the QuartzScheduler to inform the <code>ThreadPool</code>     * that it should free up all of it's resources because the scheduler is     * shutting down.     * </p>     */    void shutdown(boolean waitForJobsToComplete);    int getPoolSize();}

⌨️ 快捷键说明

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