ホームページ > Java > &#&チュートリアル > Java: 匿名内部クラスを使用してメソッド内でスレッドを定義および開始する

Java: 匿名内部クラスを使用してメソッド内でスレッドを定義および開始する

高洛峰
リリース: 2016-12-15 13:17:56
オリジナル
1438 人が閲覧しました

次のコードは、メソッド内の匿名内部クラスを通じてスレッドを定義し、その run() メソッドをオーバーライドして、スレッドを直接開始する方法を示しています。

このようなコードは、クラス内で新しいスレッドを開始することによってサイドタスクを実行するために使用できます。通常、そのようなタスクはクラスの主要な設計コンテンツではありません。

package com.zj.concurrency;
 
public class StartFromMethod {
    private Thread t;
    private int number;
    private int count = 1;
 
    public StartFromMethod(int number) {
       this.number = number;
    }
 
    public void runTask() {
       if (t == null) {
           t = new Thread() {
              public void run() {
                  while (true) {
                     System.out.println("Thread-" + number + " run " + count
                            + " time(s)");
                     if (++count == 3)
                         return;
                  }
              }
           };
           t.start();
       }
    }
 
    public static void main(String[] args) {
       for (int i = 0; i < 5; i++)
           new StartFromMethod(i).runTask();
    }
}
ログイン後にコピー

結果:

スレッド 0 実行 1 回

スレッド 0 実行 2 回

スレッド 1 実行 1 回

スレッド 1 実行 2 回

スレッド 2 実行 1 回

スレッド 2 実行 2 回

スレッド 3 実行 1 回

スレッド 3 実行 2 回

スレッド 4 実行 1 time(s)

Thread-4 run 2 time(s)


その他の Java: 匿名内部クラスを使用してメソッド内でスレッドを定義および開始する 関連記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート