-1

私が作成しているスレッドで使用しているクラスのrun()メソッド内からスレッドをスリープさせようとしているため、呼び出されたときにスレッドがスリープし、Eclipseからエラーが発生しています。目的は、コードを数回テストし、実行するスレッドの選択が決定的なものではないことを知っているため、スレッドが異なる時間に出力されることを確認することです。

私のコードは次のとおりです

    package multithreading;

    public class Mainclass {

        public static void main(String[] args) {
            run work= new run();

            Thread thread = new Thread(work);

            thread.start();

            System.out.println("main thread is running");

        }// end of main

    }// end of class mainclass

ここにあるのは、上記のメインでインスタンス/オブジェクトを作成している実行クラスです

public class Run implements Runnable{// this is the beggining of the class

    public void run(){

        try {   
             thread.sleep(200); 
        }catch (InterruptedException ex) {

        }
        System.out.println("the second thread is running");
    }// end of run method of the class run
}// end of class run

どんな助けでも大歓迎です

4

2 に答える 2

0

あなたの問題は単純なJavaコンパイルエラーであり、簡単に修正できるようです。@MadProgrammerの回答を参照してください。

sleep価値があるのは、他のものの前または後に何かを実行するために使用するべきではありません。信頼性が低く、(非効率的な) ポーリングや遅延、またはその両方を読み取る傾向があります。

あるスレッドを別の何かが起こるのを待つようにするより良い方法があります...実際に何をしようとしているのかによって異なります。

于 2013-08-08T04:38:30.690 に答える