.NET Frameworkは、そのリソースにアクセスしようとするライターの中には、他のリソースよりも優先されるような方法で、共有リソースへのアクセスを実装する機能を備えていますか?
リソースにのみ、1同時書き込み要求を付与することができます 1.
2.あり、このリソースへのアクセスを待っている多くの作家がありますが、いくつかの作家が他よりも優先されます(飢餓:共有リソースへのライターの優先アクセス?
私の問題は、次の制約があります優先度の低いライターは大丈夫です)。
3.スレッド親和性はNON-requirementです。 1つのスレッドでロックを設定できますが、別のスレッドでロックをリセットできます。
4.すべてのWriterスレッドは同じプロセスからのものです。
要するに、私は待ち行列を公開し、それに対する変更アクセスを可能にするプリミティブが必要です。そのようなものがない場合は、セマフォーのような既に利用可能なクラスを使用して自分自身でビルドを進める方法についてのヒントを教えてください。
に動作しますか?ストリームのようなもの? –
Writerをロックしようとすると、優先順位付けされたキューに自分自身を投げることができない場合はどうですか?ロック付きの書き込みがロックを解放しようとしているとき、キューをチェックして次のライターをつかむことができます。 – kenny
@Will - リソースは、それによって公開されるメソッドまたはプロパティへの同時アクセスを許可しないCOM dllです。同時アクセスが発生した場合の「オブジェクトはまだ準備されていません」COMExceptionをスローします。 @kenny - 私はあなたのアイデアを使用することができたら、私は明日返信すると思います(ここは深夜です)。 – Satyajit