本当に、私はスレッディングが初めてなので、私の質問はかなりダムかもしれません。しかし、私が尋ねたいのは、私はこのクラスを持っています、その名前がMyClass.javaだとしましょう。そして、そのメソッドの中にはcallThread()があります。これは何かを印刷してスリープさせ、コントロールをMyClass.javaのメソッドに戻したいものです。それ、どうやったら出来るの?Java:スレッド内のThread.sleep()whileループが機能しない
class MyClass {
void method()
{
MyThread thread = new MyThread();
thread.run();
// do some other stuff here...
}
}
そして、これはMyThreadになります:
現在、私のコードは次のようなものになり
class MyThread implements Runnable {
public void run()
{
while (true)
{
System.out.println("hi");
this.sleep(1000);
}
}
}
を私はMyThreadは、 "こんにちは" の印刷制御を戻すのであろうと期待していましたMyClassに送信し、1秒後に再び「hi」を印刷します。代わりに、MyThreadは私のプログラム全体をフリーズするので、そこでは全く動作しません。
これには何らかの方法がありますか?
thread.run()は通常のメソッド呼び出しですが、これをTomas氏の回答として置き換える必要があります – stacker