title: lazy load inside multithread.pool.imap() occure multiple times instead one
body: <p>Let's assume a have class </p>
  
  <pre><code>class Helper(object):
   @property  
   def lazy_prop(self):
     if not self.__model:
        self.__model = init()
   return self.__model
  ...
  </code></pre>
  
  <p>and I have function </p>
  
  <pre><code>def action(data):
   #handle some  actions which using Helper
  </code></pre>
  
  <p>and I have some data, which need to be handled with <code>action</code> function like this</p>
  
  <pre><code>data = ['bla-bla', 'foo-foo']
  pool = Pool()
  pool.imap(action, data)
  </code></pre>
  
  <p><strong>The problems is that lazy property goes to be initialized many times, instead of single one</strong>. Why that happens and how to fix that?</p>