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番目のソケットクライアント接続を受け入れています。
誰でもこれを修正する方法を教えてください。
前もって感謝します。
-ベンカット・パパナ