私はc#でコルーチン(ユーザーがスケジュールしたスレッド)を実装する方法を探しています。C ++を使用するとき、私はファイバーを使用していました。インターネットでは、C#にはファイバーが存在しないことがわかります。同様の機能を取得したいのですが。
C#でコルーチンを実装する「正しい」方法はありますか?
コルーチンごとにこのミューテックスを解放するスケジューラスレッドで単一の実行ミューテックス+1を取得するスレッドを使用してこれを実装することを考えました。しかし、これは非常にコストがかかるようです(各コルーチン間でコンテキストスイッチを強制します)
イールドイテレータ機能も見てきましたが、私が理解しているように、内部関数内ではイールドできません(元のイテレータ関数でのみ)。だから、これは私には少し良いことです。