title: Shared Object Pool with out blocking for thread operations
body: <p>Scenario:
  Object of class A are created by the thread 1, And pass those objects to thread 2.
  Thread 2 process those object and release.
  <img src="https://i.stack.imgur.com/uoh0D.jpg" alt="enter image description here"></p>
  
  <p>I need to implement object polling mechanism for above scenario, Such as Both thread 1 and 2 have  thread local pools. Thread 1 retrieves the object from its pool and thread 2 returns the objects to pool of thread 2. In addition to that there is a global pool shared by both threads.
  If pool of thread 1 is empty it retrieves object from the global pool, and once the pool of thread 2 is full it will release object to global pool,</p>
  
  <p>My ultimate idea is objects are recycled through both threads.</p>
  
  <p>Can you suggest any object pooling libraries to achieve this requirement ?</p>