JAvaマルチスレッド---スレッドの作成と起動
JAva言語にはマルチスレッドサポートが組み込まれており、Runnableインタフェースを実装するすべてのクラスが新しいスレッドを起動することができ、新しいスレッドはインスタンスのrun()メソッドを実行し、run()メソッドが実行されるとスレッドは終了します.1つのスレッドが実行されると、このインスタンスは再起動できず、新しいインスタンスを再生成し、新しいスレッドを再起動するしかありません.
ThreadクラスはRunnableインタフェースを実装したインスタンスであり、スレッドのインスタンスを表し、スレッドを起動する唯一の方法はThreadクラスのstart()インスタンスメソッドを通過することである.
方法1:
方法2:
start()メソッドはnativeメソッドであり、新しいスレッドを起動しrun()メソッドを実行します.Threadクラスデフォルトのrun()メソッドは何もしないで終了します.注意:run()メソッドを直接呼び出すと、新しいスレッドは起動されません.通常のjavaメソッドを呼び出すのと変わりません.
したがって、独自のスレッドを実装するには、次の2つの方法があります.
メソッド1:独自のクラスextend Threadを作成し,run()メソッドを複写することで,新しいスレッドを起動し,独自に定義したrun()メソッドを実行できる.例:
方法2:自分のクラスがすでにextendsの別のクラスになっている場合、直接extends Threadを実現することはできません.この場合、Runnableインタフェースを実現する必要があります.
ThreadクラスはRunnableインタフェースを実装したインスタンスであり、スレッドのインスタンスを表し、スレッドを起動する唯一の方法はThreadクラスのstart()インスタンスメソッドを通過することである.
方法1:
Thread t = new Thread();
t.start();
方法2:
Thread t = new Thread(new Runnable())
t.start();
start()メソッドはnativeメソッドであり、新しいスレッドを起動しrun()メソッドを実行します.Threadクラスデフォルトのrun()メソッドは何もしないで終了します.注意:run()メソッドを直接呼び出すと、新しいスレッドは起動されません.通常のjavaメソッドを呼び出すのと変わりません.
したがって、独自のスレッドを実装するには、次の2つの方法があります.
メソッド1:独自のクラスextend Threadを作成し,run()メソッドを複写することで,新しいスレッドを起動し,独自に定義したrun()メソッドを実行できる.例:
public class MyThread extends Thread {
public run() {
System.out.println("MyThread.run()");
}
}
方法2:自分のクラスがすでにextendsの別のクラスになっている場合、直接extends Threadを実現することはできません.この場合、Runnableインタフェースを実現する必要があります.
public class MyThread extends OtherClass implements Runnable {
public run() {
System.out.println("MyThread.run()");
}
}