- - PR -
スレッドの勉強をしています。
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-18 14:35
public class ThreadTest extends Thread {
public static void main( String[] args ) { ThreadTest thread1 = new ThreadTest() ; ThreadTest thread2 = new ThreadTest() ; ThreadTest thread3 = new ThreadTest() ; ThreadTest thread4 = new ThreadTest() ; ThreadTest thread5 = new ThreadTest() ; thread1.start() ; thread2.start() ; thread3.start() ; thread4.start() ; thread5.start() ; } public void run() { for( int i = 0 ; i <= 10 ; i++ ) { System.out.println( getName() + ":" + i ) ; try { sleep( 1000 ) ; } catch( Exception e ) { } } } } このように5つに分岐するスレッドの練習をしています。 runメソッドで走らせるのですが、thread1はこのままの処理でいいのですが thread2は10づつ増え、thread3は100づつ増え・・・と10の倍数づつ増えるようにしたいのですが 別クラスに持てば出来るのですがスマートではないと怒られました。 runメソッドでどのように処理すればよいかご教示いただきたいのですが わかりますでしょうか…。初歩的な質問で申し訳ありません。 | ||||||||||||||||
|
投稿日時: 2006-10-18 15:01
えー・・・答えじゃなくてすみませんが・・・
先輩にでも言われたのでしょうか? だとしたら、自分で考えて、それでも分からなかったら先輩に聞く、というのが人間として当たり前の反応だと思うし、人間関係的にもうまく行くと思うのですが・・・ # Java は分からないけど、コンストラクタについて勉強してみると何か分かるかもしれない。 | ||||||||||||||||
|
投稿日時: 2006-10-18 15:14
「10づつ増え」の主語はなんですか? System.out.println( getName() + ":" + i ) ; で表示される値のことでしょうか? フィールドを作り
コンストラクタで初期値を設定し
出力するときに掛けてやればよいのです。
スレッド云々の前にクラスについての理解を深めたほうがよいかもしれませんね。 | ||||||||||||||||
|
投稿日時: 2006-10-18 16:46
すいません、出力結果を
thread1:0 thread2:10 thread3:100 thread4:1000 thread5:10000 thread1:1 thread2:20 thread3:200 thread4:2000 thread5:20000 . . . thread2:100 thread3:1000 thread4:10000 thread5:100000 thread1:10 のようにしたいのです。 | ||||||||||||||||
|
投稿日時: 2006-10-18 17:21
では、先ほどの説明どおりですね。
|
1