ホームページ >バックエンド開発 >PHPチュートリアル >[VC]Thread_PHP チュートリアル
はプロセス内のエンティティであり、システムによって独立してスケジュールおよびディスパッチされる基本単位です。スレッド自体はシステム リソースを所有せず、動作中に必要な一部のリソースのみを所有しますが、属する他のスレッドと共有できます。プロセスが所有するすべてのリソース。スレッドは別のスレッドを作成および破棄でき、同じプロセス内の複数のスレッドを同時に実行できます。スレッド間の相互制約により、スレッドの動作に不連続性が見られます。スレッドには、準備完了、ブロック済み、実行中の 3 つの基本状態もあります。
スレッドは、プログラム内の単一の逐次制御プロセスです。異なるタスクを完了するために、単一のプログラム内で複数のスレッドを同時に実行することをマルチスレッドと呼びます。
スレッドとプロセスの違いは、子プロセスとそのプロセスの違いです。親プロセスには異なるコードとデータ空間がありますが、複数のスレッドはデータ空間を共有します。各スレッドは実行コンテキスト用に独自の実行スタックとプログラムカウンターを持ち、それに応じて CPU 時間を節約し、最大限に活用します。スレッドの実行ニーズ コンピューターのメモリ リソースと CPU の使用
スレッド サイクル
新しい準備完了実行のブロックされたデス
スレッドのスケジューリングと優先度
スレッドが準備完了状態になるとき、いつ実行するかを決定するためにスレッド スケジューラが必要です
スレッドグループ
に従ってスケジュールを設定します。
各スレッドは、スレッド グループのメンバーです。スレッド グループは、複数のスレッドを 1 つのオブジェクトに統合します。スレッドを生成するときは、スレッドを指定された場所に配置する必要があります。
スレッド グループは、デフォルトのスレッド グループに配置することもできます。デフォルトは、スレッドを生成したスレッドが配置されているスレッド グループです。スレッド グループは、このグループから削除できません。特殊スレッドは通常、バックグラウンドで他のスレッドにサービスを提供するために使用されます。
isDaemon(): スレッドがデーモン スレッドであるかどうかを判断します
スレッド クラスと Runnable インターフェイスを設定します。 Thread クラス
Thread クラスはパッケージ java.lang で定義されており、その構築メソッドは次のとおりです:
public Thread();
public Thread(Runnable target,String name); ;
public Thread(String name);
public Thread(ThreadGroup group, String name);
メインメソッド
Suspend()実行一時停止
reSume 実行再開
start() 実行開始
Stop() 実行停止
sleep() sleep
run() プログラム本体
yield() 実行権を他のスレッドに譲る
スレッド優先度
public statuc Final int MAX_PRIORITY 最優先, 10
Public statuc Final int MIN_PRIORITY 最低優先度,1
Public statuc Final int NORM_PRIORITY 通常の優先度,5
実行可能インターフェース
実行可能インターフェースは、スレッド本体としてメソッド run() を 1 つだけ定義します,
void run()
Java スレッドはスルーされますjava.lang.Thread クラスが実現されました。
VM が起動すると、main メソッド (public static void main(){}) によって定義されたスレッドが存在します。
新しいスレッドは、Thread のインスタンスを作成することで作成できます。
各スレッドは、特定の Thread オブジェクトに対応するメソッド run() を通じてその操作を完了します。メソッド run() はスレッド本体と呼ばれます。
Thread クラスの start() メソッドを呼び出してスレッドを開始します
Java でマルチスレッドを実装するには 2 つの方法があります
1. Thread クラスを継承します (例:
class MyThread extends Thread {
public void run() {
//ここにスレッドの内容を書きます
}
public static void main(String[] args) {
//このメソッドを使ってスレッドを開始します
new MyThread().start();
}
}
2 Runnableインターフェースを実装します
class MyThreadimplements Runnable{
public void run() {
//ここにスレッドの内容を書き込みます
}
public static void main(String[] args) {
//このメソッドを使用して、 thread
new Thread(new MyThread()) .start();
}
}
Javaでは単一の継承のみが許可されていますが、複数のインターフェースの実装は許可されているため、通常は2番目のメソッドを使用することをお勧めします。 2 番目の方法はより柔軟です。
http://www.bkjia.com/PHPjc/771954.html
www.bkjia.com