title: Using string as a lock to do thread synchronization
body: <p>While i was looking at some legacy application code i noticed it is using a string object to do thread synchronization. I'm trying to resolve some thread contention issues in this program and was wondering if this could lead so some strange situations. Any thoughts ? </p>
  
  <pre><code>private static string mutex= "ABC";
  
  internal static void Foo(Rpc rpc)
  {
      lock (mutex)
      {
          //do something
      }
  }
  </code></pre>