...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Request the thread pool to invoke the given function object.
template< typename Function, typename Allocator> void defer( Function && f, const Allocator & a) const;
This function is used to ask the thread pool to execute the given function
object. The function object will never be executed inside defer()
.
Instead, it will be scheduled to run on the thread pool.
If the current thread belongs to the thread pool, defer()
will delay scheduling the function object until the current thread returns
control to the pool.
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();
An allocator that may be used by the executor to allocate the internal storage needed for function invocation.