私は、何年も触れていない古い Java コードを更新中です。私の質問は、現在スレッドプールを行うための最良の方法は何ですか?
以前は、同時実行ユーティリティ クラスを使用していました。
import EDU.oswego.cs.dl.util.concurrent.BoundedBuffer;
import EDU.oswego.cs.dl.util.concurrent.PooledExecutor;
ただし、Java 7 に更新している今、それが最善の方法だとは思いません。
ここに私のコードスニペットがあります:
Static PooledExecuter pooledExecuter = null;
....
private ThreadPoolExample(Int initialCapactiy, int initThreadPoolSize,
int maxThreadPoolSize, int minThreadPoolSize,
int time) throws Exception
{
pooledExecuter = new PooledExecuter(new BoundedBuffer(initialCapactiy), maxThreadPoolSize);
pooledExecuter.setMinimumPoolSize(minThreadPoolSize);
pooledExecuter.setKeepAliveTime(1000 * time);
pooledExecuter.waitWhenBlocked();
pooledExecuter.createThreads(initThreadPoolSize)
//setup thread
this.thread = new Thread(this);
this.thread.setName("threadtest");
try
{
this.thread.setDaemon(this)
}
catch (Exception e)
{
}
}
run メソッドでは、pooledExecuter.execute(new TestClass) も呼び出します。
基本的に、スレッドプールを今どのようにすべきか知りたいですか?
どんな助けでも大歓迎です。