Stop processing incoming messages by the background thread. If a handler is executing at the time of invocation, that handler is allowed to complete. This method does not block the caller, and the background thread persists until it is joined by a call to stop. Note that shutdown and stop are typically called in succession.