'Asynchronous version of `apply()` method.'

def apply_async(self, func, args=(), kwds={}, callback=None, error_callback=None):

    if (self._state != RUN):
        raise ValueError('Pool    not    running')
    result = ApplyResult(self._cache, callback, error_callback)
    self._taskqueue.put(([(result._job, None, func, args, kwds)], None))
    return result
