1 /**
2 * Copyright 2006 The Apache Software Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.apache.geronimo.system.threads;
17
18 /**
19 * Management interface for thread pools
20 *
21 * @version $Rev: 410741 $ $Date: 2006-05-31 21:35:48 -0700 (Wed, 31 May 2006) $
22 */
23 public interface ThreadPool {
24 /**
25 * Gets the maximum number of threads allowed for this thread pool
26 */
27 int getPoolSize();
28
29 /**
30 * Executes work on behalf of a named client. This helps the thread pool
31 * track who's using its threads.
32 * @param consumerName A name identifying the caller, to be used in
33 * the management statistics for this pool, etc.
34 * @param runnable The work to be done by a thread in the pool
35 */
36 void execute(String consumerName, Runnable runnable) throws InterruptedException;
37 }