Windows で CPU 時間を割り当てる基本単位はスレッドです。スレッドは、オペレーティング システムが操作のスケジューリングを実行できる最小単位です。これはプロセスに含まれており、プロセス内の実際の操作単位となります。
#スレッドとは、プロセス内の単一の順次制御フローを指します。プロセス内で複数のスレッドを同時に実行できます。各スレッドは異なる実行を行います。タスクを並行して実行します。 (推奨される学習:
PHP ビデオ チュートリアル )
は、Unix System V および SunOS では軽量プロセスとも呼ばれますが、軽量プロセスはカーネル スレッドのことを指します。スレッド)、およびユーザー スレッド (ユーザースレッド)をスレッドと呼びます。 スレッドは、独立したスケジューリングとディスパッチの基本単位です。 スレッドには、Win32 スレッドなどのオペレーティング システム カーネルによってスケジュールされたカーネル スレッド、Linux プラットフォーム上の POSIX スレッドなどのユーザー プロセス自体によってスケジュールされたユーザー スレッド、またはカーネル プロセスとユーザー プロセス間のスレッドが含まれます。 Windows 7 スレッドなどのハイブリッド スケジューリングを実行します。 スレッドはプロセス内のエンティティです。プロセスには複数のスレッドを含めることができ、スレッドには親プロセスが必要です。スレッドはシステム リソースを所有せず、操作に必要な一部のデータ構造のみを所有し、プロセスが所有するすべてのリソースを親プロセスの他のスレッドと共有します。スレッドは、プログラムの同時実行を実現するために、スレッドを作成および破棄できます。 一般に、スレッドには 3 つの基本的な状態 (準備完了、ブロック済み、実行中) があります。
マルチ CPU システムでは、異なるスレッドが同じプロセスに属している場合でも、異なる CPU 上で同時に実行できます。マルチプロセッサをサポートするほとんどのオペレーティング システムは、プロセスが独自のスレッドと各プロセッサ間のアフィニティを制御できるようにするプログラミング インターフェイスを提供します。 スレッドは軽量プロセスと呼ばれることもあります。プロセスと同様に、スレッドはプログラム内の独立した同時実行パスであり、各スレッドには独自のスタック、独自のプログラム カウンタ、および独自のローカル変数があります。ただし、プロセス内のスレッドは、個別のプロセスに比べて互いに分離されにくくなります。 これらは、メモリ、ファイル ハンドル、および各プロセスが持つべきその他の状態を共有します。 プロセスは複数のスレッドをサポートできます。複数のスレッドは同時に実行されているように見えますが、互いに同期していません。プロセス内の複数のスレッドは同じメモリ アドレス空間を共有します。つまり、同じ変数とオブジェクトにアクセスでき、同じヒープからオブジェクトを割り当てます。 これにより、スレッド間での情報の共有が容易になりますが、同じプロセス内の他のスレッドに干渉しないように注意する必要があります。 PHP 関連の技術記事をさらに詳しく知りたい場合は、PHP グラフィック チュートリアル 列にアクセスして学習してください。
以上がCPUを割り当てる基本単位の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。