
jadex.platform.service.threadpool.ThreadPoolService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jadex-platform Show documentation
Show all versions of jadex-platform Show documentation
The Jadex platform package contains implementations of
platform services as well as the platform component itself.
The newest version!
package jadex.platform.service.threadpool;
import jadex.bridge.service.BasicService;
import jadex.bridge.service.IServiceProvider;
import jadex.bridge.service.types.threadpool.IDaemonThreadPoolService;
import jadex.bridge.service.types.threadpool.IThreadPoolService;
import jadex.commons.concurrent.IThreadPool;
import jadex.commons.future.IFuture;
/**
* Service wrapper for a threadpool.
*/
public class ThreadPoolService extends BasicService implements IThreadPoolService, IDaemonThreadPoolService
{
//-------- attributes --------
/** The threadpool. */
protected IThreadPool threadpool;
//-------- constructors --------
/**
* Create a new threadpool service.
*/
public ThreadPoolService(IThreadPool threadpool, IServiceProvider provider)
{
super(provider.getId(), IThreadPoolService.class, null);
this.threadpool = threadpool;
}
//-------- methods --------
/**
* Start the service.
* @return A future that is done when the service has completed starting.
* /
public synchronized IFuture startService()
{
return super.startService();
}*/
/**
* Shutdown the service.
* @param listener The listener.
*/
public synchronized IFuture shutdownService()
{
threadpool.dispose();
return super.shutdownService();
}
/**
* Execute a task in its own thread.
* @param task The task to execute.
*/
public synchronized void execute(Runnable task)
{
// if(!isValid())
// throw new RuntimeException("Service invalid: "+this);
threadpool.execute(task);
}
/**
* Shutdown the thread pool.
*/
public void dispose()
{
shutdownService();
}
/**
* Test if the thread pool is running.
*/
public boolean isRunning()
{
return threadpool.isRunning();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy