title: Reuse mongo internal distributed locks
body: <p>I need an distributed lock implementation for my application. I have a number of independent worker processes and I need to enforce a restriction that they can only work on a single account at one time.</p>
  
  <p>The application is writen in c# with a mongo db layer. I noticed that mongo's <a href="http://docs.mongodb.org/manual/core/sharding-internals/#sharding-balancing-internals" rel="nofollow">cluster balancer</a> uses a distributed lock mechanism to control which mongos is doing the balancing and I was wondering if I could reuse the same mechanism in my app?</p>
  
  <p>I'd rather not have the overhead of implementing my own distributed lock mechanism and since all the worker processes alreading interface with mongo so it would be great if I could reuse their implementation.</p>