I saw jeffery richter video ( click to see exact line) and he says :
It is always better to use Monitor.Enter and Monitor.Lock over Event-wait-handles or Semaphore etc because they (monitor.X) use kernel object , but they only use them if there's contention. and if there's no contention , they dont use those objects.
I maybe missing something here but when I do :
lock(myObj)
{
...
}
I presume that there might be more than one thread who wants to get into the critical section.
So , according to the info above , if there no contention , the lock wont be used ? (what if another thread is about to enter 1 ms after?)