>>> cache = Cache(enable_thread_pool=False, log_level=logging.ERROR)
        >>> cache.with_thread_pool()
        True
        >>> cache.with_thread_pool()
        False

def with_thread_pool(self, init_func=None, only_read=False):
        """
        >>> cache = Cache(enable_thread_pool=False, log_level=logging.ERROR)
        >>> cache.with_thread_pool()
        True
        >>> cache.with_thread_pool()
        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