Shuts down all background threads or other facilities that might have
been started in order to execute work items. This function is typically
called during program shutdown.
If there are still tasks to be executed when the timeout expires, any
currently executed work items will never receive any notifications
for async transports managed by this instance, queued work items will
be silently dropped, and implementations are allowed to leak resources.
If positive, waits for all work items to be
finished for the specified amount of time, if negative, waits for
completion without ever timing out, if zero, immediately shuts down
the background facilities.
Shuts down all background threads or other facilities that might have been started in order to execute work items. This function is typically called during program shutdown.
If there are still tasks to be executed when the timeout expires, any currently executed work items will never receive any notifications for async transports managed by this instance, queued work items will be silently dropped, and implementations are allowed to leak resources.