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 サイトに注目してください。