lock(someObject) { //Do something }

If two threads try to lock the same object at the same time, one of the threads will be blocked until the other thread unlocks the object. 
This can lead to a race condition where the blocked thread can be forced to wait indefinitely, leading to a denial of service attack.