マルチコアプロセッサのシステムでは、ネイティブスレッドの実装は処理を複数のプロセッサに割り当てることができる。これはグリーンスレッドの実装では不可能である。このような環境ではネイティブスレッドに明らかな利点がある。しかし、ユニプロセッサのシステムでは、最も効率のよいモデルが何なのか、いまだ明確な答えはない。[1]
また、グリーンスレッドはブロックする 処理を実行する場合に、他のすべてのスレッドをブロックする可能性がある。この問題を避けるため、グリーンスレッドは非同期 I/O処理を行わなければならず、それにより複雑さが増加し、遅延が大きくなるとともに、開発期間や難易度が増加する。
ユーザー空間に構築されているため、グリーンスレッドはネイティブスレッドより軽量であるが、協調的マルチタスクの形で実装されており、スレッド化されたプログラムはシステムを停止させてしまう恐れがある。
多くのグリーンスレッドの実装では、優先度逆転を防ぐ仕組みを持っていない。
^ 実装では、スレッドをグリーンスレッドとして実装している。[2]