Linux コルーチンは軽量のユーザーモード スレッドであり、オペレーティング システムはコルーチンを認識しません。コルーチンは協調スケジューリング (非プリエンプティブ スケジューリング) を実装します。つまり、コルーチンの切り替えは現在のコルーチンによって制御され、積極的に CPU を放棄します。通常、スレッドには複数のコルーチンが含まれます。
コルーチン定義
(推奨学習: linux チュートリアル)
Coroutine ) は、軽量のユーザーモード スレッドであり、オペレーティング システムはコルーチンを認識しません。実装されているのは協調スケジューリング (非プリエンプティブ スケジューリング) です。つまり、コルーチンの切り替えは現在のコルーチンによって制御され、積極的に CPU を放棄します (たとえば、現在のコルーチンが非同期ネットワーク IO を待機している場合)。
通常、スレッドには複数のコルーチンが含まれます。
コルーチンの特性
1. コルーチンは同時に実行されるマルチタスク システムであり、通常はオペレーティング システムのスレッドによって駆動されます;
2. コルーチン タスクのメタデータ リソースの使用量は次のとおりです。オペレーティング システムのスレッドよりも低く、タスク切り替えのオーバーヘッドが小さい;
3. コルーチンはタスク間の協調的なスケジューリングです。つまり、1 つのタスクが実行を積極的に放棄し、別のタスクの実行をスケジュールします。
以上がLinuxコルーチンとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。