#### thread_pool::basic_executor_type::dispatch

Request the thread pool to invoke the given function object.

    template<
        typename Function,
        typename OtherAllocator>
    void dispatch(
        Function && f,
        const OtherAllocator & a) const;

This function is used to ask the thread pool to execute the given function object. If the current thread belongs to the pool, `dispatch()` executes the function before returning. Otherwise, the function will be scheduled to run on the thread pool.

###### Parameters

f

  The function object to be called. The executor will make a copy of the handler object as required. The function signature of the function object must be:

      void function();

a

  An allocator that may be used by the executor to allocate the internal storage needed for function invocation.