「スレッド」とは、プログラム実行時の命令の流れの最小単位です。プロセスは特定の独立した機能を持つプログラムを指し、スレッドはプロセスの一部であり、命令フローの実行状態を記述します。スレッドはプロセス内の命令実行フローの最小単位であり、基本単位です。 CPU のスケジューリング。スレッドはタスク (プログラムセグメント) の実行プロセスであり、メモリ空間を占有せず、プロセスのメモリ空間に含まれます。同じプロセス内では、複数のスレッドがプロセスのリソースを共有し、プロセスには少なくとも 1 つのスレッドがあります。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
「スレッド」とは、プログラム実行時の命令の流れの最小単位です。
#プロセスとは、特定の独立した機能とデータ収集の動的実行プロセスを備えたプログラムを指します。スレッドはプロセスの一部であり、命令フローの実行ステータスを記述します。プロセス内の命令実行フローの最小単位であり、CPU スケジューリングの基本単位です。 スレッド (スレッド): オペレーティング システムによるスケジューリングの最小単位である軽量プロセス。スレッドとは、タスク(プログラムセグメント)の実行プロセスです。スレッドはメモリ空間を占有せず、プロセスのメモリ空間に含まれます。同じプロセス内では、複数のスレッドがプロセスのリソースを共有します。プロセスには少なくとも 1 つのスレッドがあります。状態
オペレーティング システムがスレッドを作成すると、スレッドは作成状態になり、CPU がスレッドをスケジュールすると、スレッドは実行状態になります。この時点では、他の作成されたスライスまたはタイム スライスの有効期限が切れています。スレッドは準備完了状態にあります。もちろん、ディスクやネットワークなどで IO を実行するときに一部のスレッドはブロック状態になります。オペレーティング システムがスレッドを破棄すると、スレッドは終了した状態です。さらに、スレッドには静的な準備完了状態と静的なブロック状態もあります。これら 2 つの状態にあることは、スレッドがオペレーティング システムによって一時停止されていることを意味します。オペレーティング システムは、スレッドの状態を監視および分析するためにスレッドを一時停止します。特徴
マルチスレッド OS では、通常、複数のスレッドがプロセスに含まれ、各スレッドがプロセスとして機能します。 CPU を利用する基本単位であり、最小限のオーバーヘッドを消費するエンティティです。スレッドには次のプロパティがあります。 1)、軽量エンティティスレッド内のエンティティは基本的にシステム リソースを所有せず、独立した動作を保証できるいくつかの不可欠なリソースのみを持ちます。 スレッド エンティティには、プログラム、データ、TCB が含まれます。スレッドは動的概念であり、その動的特性はスレッド制御ブロック (TCB) によって記述されます。 2)、独立したスケジューリングとディスパッチの基本単位。 マルチスレッド OS では、スレッドは独立して実行できる基本単位であるため、独立したスケジューリングとディスパッチの基本単位でもあります。スレッドは非常に「軽い」ため、スレッドの切り替えは非常に高速で、(同じプロセス内での) オーバーヘッドはほとんどありません。 3) は同時に実行できます。 プロセス内の複数のスレッドを同時に実行でき、プロセス内のすべてのスレッドを同時に実行することもできます。同様に、異なるプロセスのスレッドを同時に実行することもでき、プロセッサーと周辺機器が並行して動作する能力。 4)、共有プロセス リソース。 同じプロセス内の各スレッドは、プロセスが所有するリソースを共有できます。これは、すべてのスレッドが同じアドレス空間 (プロセスのアドレス空間) を持っているという点で最初に現れます。これは、スレッドがすべてのスレッドにアクセスできることを意味します。このアドレス空間内の仮想アドレスに加えて、プロセスが所有するオープン ファイル、タイマー、セマフォ メカニズムなどにもアクセスできます。同じプロセス内のスレッドはメモリとファイルを共有するため、スレッドはカーネルを呼び出すことなく相互に通信します。 関連知識の詳細については、FAQ 列をご覧ください。
以上がプログラム実行時の命令フローの最小単位は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。