The Non Blocking Monitor Wait

  One of key things we are taught about lock constructs in general is that a thread will wait indefinitely on a lock to become available before being allowed to continue. Is that always true? Not quite. Let’s take a look at a simple piece of code: private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { ……

2