title: Process synchronization techniques
body: <p>For multi-threading, we can use synchronization primitives like <code>mutexes</code>, <code>semaphore</code>,<br>
   <code>condition variables</code>.<br>
  How can I synchronize process instances?  </p>
  
  <p>For example, if I should not allow more than 1 instance of an application to run, how can I achieve that?   </p>