title: OO design patterns for multi-threaded synchronisation
body: <p>Are there any generalisations of object and data and thread interactions given design pattern names?</p>
  
  <p>Obviously what goes on a lot is synchronisation on an object, passing messages through a queue and also reference counts in memory management systems.</p>
  
  <p>But are there any more OO-oriented names for multithreading design patterns and systems that cleanly embody best practice?</p>