グリーンスレッドは、ネイティブOS機能に依存せずにマルチスレッド環境をエミュレートし、カーネルスペースではなくユーザースペースで管理されるため、ネイティブスレッドがサポートされていない環境で動作できます。
Pythonのスレッドはとして実装されpthreads (kernel threads)
、グローバルインタープリターロック(GIL)のため、Pythonプロセスは一度に1つのスレッドのみを実行します。
[質問]しかしGreen-threads
(またはいわゆるグリーンレットまたはタスクレット)の場合、
- それらに
GIL
影響を与えますか?一度に複数のグリーンレットを実行できますか?- グリーンレットまたはタスクレットを使用する際の落とし穴は何ですか?
- グリーンレットを使用する場合、プロセスで処理できるグリーンレットはいくつですか?(1つのプロセスで、* ixシステムに設定されているulimit(-s、-v )までのスレッドを開くことができるので疑問に思い ます。)
私は少し洞察が必要です、そして誰かが彼らの経験を共有するか、正しい道に私を導くことができればそれは助けになるでしょう。