3

残念ながら、.NET Compact Framework を使用する場合、System.Threading にはセマフォがありません。なぜだかわかりませんが、誰か考えがありますか?

グーグルで調べた後、独自の実装を提供している人をたくさん見つけましたが、実際にうまく機能した人はいません...またはまったく機能しませんでした!

そこで専門家に聞いてみた...

.NET コンパクト フレームワークに推奨できる優れたセマフォ クラス/ライブラリを持っている人はいますか?

また

動作をエミュレートできる方法はありますか?

スレッドがオブジェクトをキュー (System.Collections) にプッシュする典型的なプロデューサー/コンシューマーのセットアップがあります。次に、コンシューマ スレッドがオブジェクトをキューから取り出して作業を行うようにしたいと考えていますが、明らかにキューに処理するものがある場合に限られます!

私は C# で作業していますが、.NET CF に実装できる限り、任意の言語でソリューション/疑似を使用します。

4

2 に答える 2

4

CreateSemaphore と ReleaseSemaphore に PInvoke するだけで、CE の coredll に実装されています。System.Threading.Semaphore のような適切なマネージ ラッパーを作成するのは非常に簡単です。

于 2009-11-17T07:12:21.710 に答える
2

OpenNETCFにセマフォの実装があると思います

于 2009-11-19T15:50:16.640 に答える