java.uti.concurrentパッケージ初心者です。を使用してソケット リスナ クラスを開発しようとしていますExecutorService。ここに私のメインコードスニペットがあります:
while (!getExit()) {
try{
logger.info("RequestListner.run(): listening for new request...");
Socket socket = server.accept();
logger.info("RequestListner.run(): got new request");
MyTask task = new MyTask(socket);
pool.submit(task);
logger.info("RequestListner.run(): submitted new request to pool");
}catch(Exception e) {
logger.error("RequestListner.run(): Exception: "+e.getMessage());
}
}
私MyTaskのクラスにはオブジェクトがあり、タスクExecutorServiceを送信します。MyTask2(私の意図は、各ソケット接続に対してマルチスレッド処理を実行することです)
私のアプリケーションは、ソケット クライアント リクエストを受け入れ、 のプールを作成しておりMyTask2、正常に実行されています。しかし、最初のリクエストを終了した後にのみ、2番目のソケットクライアント接続を受け入れています。
誰でもこれを修正する方法を教えてください。
前もって感謝します。
-ベンカット・パパナ