title: Unlock a thread from another process, in c++
body: <p>I'm programming an interprocess communication module (Process A and Process B).</p>
  
  <p>Is there any way the communication thread in B can run (be unlock) as soon as process A finishes a specific action, I mean without B doing any polling nor B waiting too much after A finishes its action?</p>
  
  <p>Which are the concepts/models/design patterns governing these issues? (Something more precise than interprocess synchronization). Which libraries/methods do you recommend? </p>
  
  <p>Thanks.</p>
  
  <p>Edit: I'm looking for methods suitable for each of the three main OSes: Ms Windows, Apple Mac OS X, GNU/Linux.</p>