title: Maximum pool size when using ThreadPool Python
body: <p>I am using ThreadPool to achieve multiprocessing. When using multiprocessing, pool size limit should be equivalent to number of CPU cores. 
  My question- When using ThreadPool, should the pool size limit be number of CPU cores?</p>
  
  <p>This is my code</p>
  
  <pre><code>from multiprocessing.pool import ThreadPool as Pool
  class Subject():
      def __init__(self, url):
         #rest of the code
     def func1(self):
        #returns something
  if __name__=="__main__":
     pool_size= 11
     pool= Pool(pool_size)
     objects= [Subject() for url in all_my_urls]
     for obj in objects:
       pool.apply_async(obj.func1, ())
     pool.close()
     pool.join()
  </code></pre>
  
  <p>What should be the maximum pool size be? 
  Thanks in advance. </p>