[Seasar-user:14974] Re: バッチAPでマルチスレッドを使用したい

Junichi Kato [E-MAIL ADDRESS DELETED]
2008年 7月 9日 (水) 12:13:24 JST


加藤(j5ik2o)です.

反応できるところだけインラインで書きますw

2008/07/09 11:09 もんきち <[E-MAIL ADDRESS DELETED]>:
> 現在Seasar2.4+S2DAO+JDK5+PostgreSQL8.3でバッチAPを作成しているのですが、下記要件を
> 満たすためマルチスレッドで動作するAPにしたいと考えてます。
>
> 1. あらかじめDBにURLを登録する。
> 2. バッチ起動時にURLを格納したテーブルを参照して、当該URLに3.の処理を実行する。
> 3. JakartaCommonを使用してHTTP GETを行いHTMLを取得する。取得したデータはDBに格納する。

要はウェブサイトを巡回してHTMLを取得するクローラを実装したいということでしょうか?

>
> できれば2.、3.の処理をスレッド化して処理したいのです。極端な事言えば登録されているURL
> の数だけスレッドを起動して、並列処理できればと考えてます。

CPUが処理できる数以上スレッドを作っても効率はよくなりません.スレッドプールを使うとよいです.
このあたりを参考にされてくださいw
http://d.hatena.ne.jp/j5ik2o/20070308/1173379783
ということで,concurrentパッケージのExecutorを使われることをお勧めします.

-- 
/**
 * name : Junichi Kato
 * email : [E-MAIL ADDRESS DELETED]
 *
 * blog : http://d.hatena.ne.jp/j5ik2o/
 *
 * commiting projects :
 * http://jiemamy.org/
 * http://s2chronos.sandbox.seasar.org/
 * http://s2config.sandbox.seasar.org/
 */


Seasar-user メーリングリストの案内