私は C#/ASP.NET Web アプリケーションに取り組んでおり、ロックを行う必要がある状況がいくつかあります。理想的には、ロックは互いに関係がないため、ロックが独立して動作することを望みます。[MethodImpl(MethodImplOptions.Synchronized)]
を使用するいくつかの方法を検討してきましたlock()
が、いくつかの質問/懸念があります。
MethodImplOptions.Synchronized will essentially do
lock(this)` のようです。その場合、同期メソッドに入るスレッドは、他のすべてのスレッドが同期メソッドに入るのをブロックするようです。そうですか?もしそうなら、これは十分な粒度ではありません。その時点で、Application.Lock を使用することもできそうです。(でも、間違っていたら訂正してください。)
に関してlock()
、私は何を渡す必要があるかを理解しようとしています。この目的のためだけに一連のオブジェクトを作成し、それぞれを異なるロックに使用する必要がありますか? より良い方法はありますか?
前もって感謝します!