code: def with_thread_pool(self, init_func=None, only_read=False):
          
          if not hasattr(self, 'thread_pool') or self.thread_pool is None:
              if init_func is not None:
                  self.thread_pool = init_func()
              else:
                  self.thread_pool = _init_thread_pool()
              self.enable_thread_pool = True
              self.logger.debug('Initialize thread pool completed %s' % self.thread_pool)
              return True
          else:
              self.logger.warning('Already have a thread pool instance - %s' % self.thread_pool)
              return False
docs: >>> cache = Cache(enable_thread_pool=False, log_level=logging.ERROR)
          >>> cache.with_thread_pool()
          True
          >>> cache.with_thread_pool()
          False