All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.cocoon.components.thread.ThreadFactory Maven / Gradle / Ivy

Go to download

Interfaces for thread factories and pools and for execution of background tasks.

There is a newer version: 2.3.0
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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.
 */
package org.apache.cocoon.components.thread;

/**
 * The ThreadFactory interface describes the responability of Factories
 * creating Thread for {@link ThreadPool}s of the {@link RunnableManager}
 *
 * @version $Id: ThreadFactory.java 489488 2006-12-21 22:38:17Z danielf $
 */
public interface ThreadFactory
    extends EDU.oswego.cs.dl.util.concurrent.ThreadFactory {

    //~ Methods ----------------------------------------------------------------

    /**
     * Set the daemon mode of created Threads should have
     *
     * @param isDaemon Whether new {@link Thread}s should run as daemons.
     */
    void setDaemon( boolean isDaemon );

    /**
     * Get the daemon mode created Threads will have
     *
     * @return Whether new {@link Thread}s should run as daemons.
     */
    boolean isDaemon();

    /**
     * Set the priority newly created Threads should have
     *
     * @param priority One of {@link Thread#MIN_PRIORITY}, {@link
     *        Thread#NORM_PRIORITY}, {@link Thread#MAX_PRIORITY}
     */
    void setPriority( int priority );

    /**
     * Get the priority newly created Threads will have
     *
     * @return One of {@link Thread#MIN_PRIORITY}, {@link
     *         Thread#NORM_PRIORITY}, {@link Thread#MAX_PRIORITY}
     */
    int getPriority();

    /**
     * Create a new Thread for a {@link Runnable} command
     *
     * @param command The Runnable
     *
     * @return new Thread
     */
    Thread newThread( Runnable command );
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy