title: Blocking Locks versus Non-Blocking Locks
body: <p>I am thinking here: If you have 2 threads executing FAST operations that need to be synchronized, isn't a nonblocking approach faster/better than a blocking/context switch approach?</p>
  
  <p>By non-blocking I mean something like:</p>
  
  <p>while(true) {
      if (checkAndGetTheLock()) break;
    }</p>
  
  <p>The only thing I can think of is starvation (with CPU burn out) if you have too many threads looping around the lock.</p>
  
  <p>How do I balance one approach versus the other?</p>