0

多対 1 モデルに関する私の理解では、すべてのユーザー スレッドは LWP にバインドされ、LWP はカーネル スレッドにバインドされます。スレッド ライブラリはスレッドを LWP にスケジューリングする役割を担い、カーネルは単一のスレッド化されたアプリケーションしか認識しません。

それで、マッピングはプログラムが開始された瞬間(メインスレッドが実行されたとき)に発生しますか、それともプログラムの実行の間のどこかで発生しますか?

4

1 に答える 1

0

ユーザー (マルチまたはシングル スレッド プロセス) を実行するには、カーネル スレッドが必要です。これは、カーネル スレッドがカーネル スケジューラの最小スケジューリング エンティティであるためです。適切なスレッドを選択して LWP でスケジュールするのは、スレッド ライブラリの仕事です。これにはメインスレッドも含まれることに注意してください。したがって、私の推測では、バインドはプログラムの実行時に発生します。推測なので、他の方の声もお待ちしております。

于 2013-08-02T16:17:24.547 に答える