Package jadex.commons.concurrent
Class JavaThreadPool
- java.lang.Object
 - 
- jadex.commons.concurrent.JavaThreadPool
 
 
- 
- All Implemented Interfaces:
 IThreadPool
public class JavaThreadPool extends java.lang.Object implements IThreadPool
A thread pool based on the java.util.concurrent package. 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected java.util.concurrent.ExecutorServiceexecutorThe executor service.protected java.util.List<IChangeListener<java.lang.Void>>listenersThe finished listeners.protected Future<java.lang.Void>shutdownFuture used for performing shutdown. 
- 
Constructor Summary
Constructors Constructor Description JavaThreadPool(boolean daemon)Create a new ThreadPool5. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFinishListener(IChangeListener<java.lang.Void> listener)Add a finish listener;voiddispose()Shutdown the thread pool.voidexecute(java.lang.Runnable task)Execute a task in its own thread.voidexecuteForever(java.lang.Runnable task)Execute a task in its own thread.booleanisRunning()Test if the thread pool is running.protected voidnotifyFinishListeners()Notify the finish listeners. 
 - 
 
- 
- 
Field Detail
- 
executor
protected java.util.concurrent.ExecutorService executor
The executor service. 
- 
listeners
protected java.util.List<IChangeListener<java.lang.Void>> listeners
The finished listeners. 
- 
shutdown
protected Future<java.lang.Void> shutdown
Future used for performing shutdown. 
 - 
 
- 
Method Detail
- 
execute
public void execute(java.lang.Runnable task)
Execute a task in its own thread.- Specified by:
 executein interfaceIThreadPool- Parameters:
 task- The task to execute.
 
- 
executeForever
public void executeForever(java.lang.Runnable task)
Execute a task in its own thread. The pool expects the thread executing the task to never return. Preferably use this method if you want to permanently retrieve a thread e.g. for repeated blocking operations.- Specified by:
 executeForeverin interfaceIThreadPool- Parameters:
 task- The task to execute.
 
- 
dispose
public void dispose()
Shutdown the thread pool.- Specified by:
 disposein interfaceIThreadPool
 
- 
isRunning
public boolean isRunning()
Test if the thread pool is running.- Specified by:
 isRunningin interfaceIThreadPool
 
- 
addFinishListener
public void addFinishListener(IChangeListener<java.lang.Void> listener)
Add a finish listener;- Specified by:
 addFinishListenerin interfaceIThreadPool
 
- 
notifyFinishListeners
protected void notifyFinishListeners()
Notify the finish listeners. 
 - 
 
 -