Java 1.6の並行処理機能を使用して、オフラインでいくつかのタスクを実行しています。ユーザーが登録して作成されたとき、私は、ユーザーをブロックしたくないいくつかの社内ログタスク&を実行する必要があるので、私は以下のコードを使用してきたJavaのExecutorServiceによる同時実行
java.util.concurrent.ExecutorService myservice = Executors.newSingleThreadExecutor();
myservice.execute(new myTask(user));
ここで、私が持っていますRunメソッドでRunnable &を実装する内部クラスmyTask、私はオフラインの活動をしています(非ブロッキング呼び出しとしてそれを作る)。
ユーザーがウェブサイトにログインすると、特定の操作(ウェブページ上のボタン)がクリックされ、同様のオフラインアクティビティを実行する必要があります。&私はブロッキングコールとして電話をかけたくありません。このページには、オフラインタスクを実行するために必要な4つのアクションがあります。
4つの異なる内部クラスで同様のコードを使用してもよろしいですか?&それらの中でオフライン活動を実行しますか?そうでない場合は、代替手段は何ですか?
ありがとうございます!
私はstrutsアクション内でStruts2&を使用していますが、この実行スレッドはあります。あなたはスレッドプールを実装する方法のサンプルラインを提供することができますか?スレッドプールサイズを設定する必要がありますか?もしそうなら、どこ?私はtomcat 6サーバーを使用しています。 – Mike
@Mikeはサンプルコードを追加しました。トレッドプールを一度だけ作成し、Webアプリケーションがシャットダウンする前にシャットダウンするようにする必要があります。 –
私はまだこれらのAPIを使っていない。 newFixedThreadPoolが呼び出されたことがわかります。しかし、それでは、Runnableインターフェースを実装する内部クラスmyTaskをどのように呼び出すのでしょうか? pool.execute(new myTask(user))を呼び出す必要がありますか。また、10人以上のユーザーがウェブサイトにアクセスしようとするとどうなりますか? – Mike