- PR -

スレッドで並行処理について

1
投稿者投稿内容
M@C
会議室デビュー日: 2005/09/07
投稿数: 4
投稿日時: 2005-09-07 00:29
同時に実行できる処理を管理することはできるのでしょうか?

やりたいことは、
10個の処理を並行して3個づつ実行するようなプログラムです。

ただし同時並行する処理数(2個)は、
固定ではなく引数などで変更可能なものにしたいと思っています。

また、当然ですが
 スレッド1:処理1・・#処理4・・・・・・・#処理10・・・・#
 スレッド2:処理2・・・#処理5・・#処理7・・#処理9・・・#
 スレッド3:処理3・・・・#処理6・・・#処理8・・・#
のように開いているスレッドがあれば次の処理が走るようなものです。
※「#」は、処理の終了地点です。

初心者で申し訳ないですが知恵をお貸しください。

[ メッセージ編集済み 編集者: M@C 編集日時 2005-09-07 00:29 ]
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2005-09-07 00:43
スレッドプールを使えば簡単に実現できます。

JDK 5.0であれば標準ライブラリに組み込まれています。
java.util.concurrent.Executors#newFixedThreadPool(int)
ご質問の内容であれば、このメソッドが一番近いでしょう。

以前のバージョンであれば、concurrentパッケージの基になった実装があります。
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html
M@C
会議室デビュー日: 2005/09/07
投稿数: 4
投稿日時: 2005-09-07 01:17
ありがとうございます。
参考にしてみます。
ToGo
常連さん
会議室デビュー日: 2002/03/16
投稿数: 46
投稿日時: 2005-09-07 02:25
引用:

以前のバージョンであれば、concurrentパッケージの基になった実装があります。
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html


JDK1.4に対しては、"Java 1.4 backport of JSR 166"があります。上記URLからもリンク
されています。
http://www.mathcs.emory.edu/dcl/util/backport-util-concurrent/
1

スキルアップ/キャリアアップ(JOB@IT)