3

私は繊維が糸の文脈の中で走ることを知っています。これらはユーザーレベルのみです。

スレッドはユーザーレベルでもカーネルレベルでもかまいません。

ユーザーレベルのアプリケーションでスレッドを作成すると、それもユーザーレベルになりますか?

ユーザーアプリケーションでカーネルレベルのスレッドを作成できますか?

これらのユーザーレベルのスレッドもカーネルによってスケジュールされていますか?

.NETでCreateThreadを呼び出すと、カーネルはどのように機能しますか?CreateThread関数は、ユーザーレベルのスレッドを作成するために、susbsystem dllを経由してエグゼクティブに到達し、カーネルに到達する必要がありますか?

4

1 に答える 1

0

Windowsプラットフォームでは、ユーザーモードプロセス(アプリケーション)のスレッドはユーザーモードスレッドであり、カーネルモードプロセスのスレッドはカーネルモードスレッドです。ユーザーモードプロセスでカーネルモードスレッドを作成することはできません。Windowsでは、すべてのスレッドがカーネルによって直接または間接的に(CPU割り込みの構成方法を介して)スケジュールされます。

.Net CreateThreadは、最終的にKernel32.dllからエクスポートされたCreateThreadAPIを使用します。

于 2012-11-13T06:21:06.017 に答える