ホームページ  >  記事  >  Java  >  Java マルチスレッドとタイマー

Java マルチスレッドとタイマー

高洛峰
高洛峰オリジナル
2016-12-16 13:46:471397ブラウズ

1. Java でのマルチスレッド:

java.lang.Thread クラスまたは java.lang.Runnable インターフェースを使用して、新しいスレッドを定義、インスタンス化、開始するコードを記述します。

Threadクラスのインスタンスは、Javaの他のオブジェクトと同様、単なるオブジェクトであり、変数とメソッドを持ち、ヒープ上で生きたり消えたりします。

Javaでは、各スレッドにコールスタックがあり、プログラム内で新しいスレッドが作成されなくても、スレッドはバックグラウンドで実行され続けます。

Java アプリケーションは常に main() メソッドから実行を開始します。main() メソッドは、メイン スレッドと呼ばれるスレッドで実行されます。

新しいスレッドが作成されると、新しいコールスタックが生成されます。

スレッドは通常、ユーザー スレッドと待機スレッドの 2 つのカテゴリに分類されます。

すべてのユーザースレッドの実行が終了すると、JVMは自動的にシャットダウンします。ただし、待機スレッドは JVM から独立しているわけではありません。待機スレッドは通常、オペレーティング システムまたはユーザーによって作成されます。

スレッドを作成する2つの方法

1. Threadのサブクラスを作成し、funメソッドをオーバーライドします。

2. Thread のパラメーターを含むコンストラクターを使用し、パラメーターは Runnable() オブジェクトです。

[java]

//例1:(Threadクラスを継承)

Threadthread1=newThread(){

@Override

publicvoidrun(){

...//具体的な実行は省略 コード

}

};

//例2:(Runnableインターフェースの実装)

Threadthread2=newThread(newRunnable(){

@Override

publicvoidrun(){

…..// 実行されるコードは省略

}

});

2番目の方法の方がオブジェクト指向の考え方に適しており、より柔軟であるため、一般的には2番目の方法が使用されます。

どちらのメソッドも run メソッドを書き換える必要があります。

2. JAVAでタイマー機能を実装するために使用される2つのクラスは、TimerとTimerTaskです。 Timer クラスは、タスクを実行するために使用されるクラスです。TimerTask をパラメータとして受け取ります。最も一般的に使用されるのは、タスクを 2 つの方法で実行できるスケジュールです。データ )、2: 一定時間後 (int 遅延) どちらの方法でもタスクの実行頻度を指定できます。

[java]

//タイマーの例:

publicstaticvoidmain(String[]args){

classMyTimerTaskextendsTimerTask{//TimerTaskクラスを継承する内部クラスを記述してタイマーの機能を実装する

@ Override

publicvoidrun(){

}

}

System.out.println(newDate().getSeconds());

newTimer().schedule(newMyTimerTask(),2000);//タイマーを作成する

}

//実装 ステートメントは時々出力されます。奇数と偶数では異なる間隔になります。

ava マルチスレッドとタイマーに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。