クラスがマルチスレッド化された別のクラスからのイベント呼び出しをリッスンする Visual Studio 2008 C# .NET 3.5 プロジェクトがあります。イベントが最大 10 個のスレッドへの同時アクセスのみを許可するようにする必要があります。11 番目のスレッドは、10 のうちの 1 つが終了するまでブロックする必要があります。
myobj.SomeEvent += OnSomeEvent;
private void OnSomeEvent(object sender, MyEventArgs args)
{
// allow up to 10 threads simultaneous access. Block the 11th thread.
using (SomeThreadLock lock = new SomeThreadLock(10))
{
DoUsefulThings(args.foo);
}
}
他のMyObj
クラスを制御できないため、そこにスレッドプールを実装できません。
これを実装する最良の方法は何ですか?
ありがとう、ポールH