-6

を読んThreadjavaいるのですが、本で code_snippet を見つけて実装しようとしましたが、本に記載されているように機能しませんwhy

public class Main_thread 
{
    public static void main ( String args [] )
    {
        System.out.println("hello kakke");

        Thread t = new Thread () ;
        t.start();
    }   
}

なぜか、また「こんにちはかっけ」がプリントされています。

4

1 に答える 1

2

なぜか、また「こんにちはかっけ」がプリントされています。

これは、メソッドの最初に一度だけ印刷するためですmain()

後で作成した はすぐに終了し、それ以上Thread何もしません。Threadに何らかの作業を実行させるには、そのrun()メソッドをオーバーライドするか、インターフェースを実装するコンストラクターにオブジェクトを渡す必要がありRunnableます。

開始するには、次のことを試してください。

Thread t = new Thread () {
   @Override
   public void run() {
       for (int i = 0;   i < 5;  i++) {
           System.out.println("hello kakke - from separate Thread");
           Thread.sleep(500);
       }
   }
};
t.start();

for (int i = 0;   i < 5;  i++) {
    System.out.println("hello kakke - from main Thread");
    Thread.sleep(700);
}

注:キャッチする必要がThread.sleep()あるものを投げることができInterruptedExceptionます-練習としてそれをあなたに任せます:)

于 2013-04-03T08:35:25.697 に答える