私はジェフリー・リヒターのビデオを見ました(正確な行を見るにはクリックしてください)、そして彼は言います:
Monitor.Enter と Monitor.Lock は Event-wait-handles や Semaphore などよりも (monitor.X)カーネル オブジェクトを使用するため、常に使用することをお勧めしますが、競合がある場合にのみ使用します。競合がなければ、それらのオブジェクトは使用されません。
ここで何かが足りないかもしれませんが、そうすると:
lock(myObj)
{
...
}
クリティカルセクションに入りたいスレッドが複数存在する可能性があると思います。
では、上記の情報によると、競合がなければロックは使用されないのでしょうか? (別のスレッドが 1 ミリ秒後に入力しようとしている場合はどうなりますか?)