Guard and join stoppable thread
Stopping, but waits for the thread to finish. See notes about
impl<T> !RefUnwindSafe for Joining<T>
impl<T> !UnwindSafe for Joining<T>
type Error = Infallible
The type returned in the event of a conversion error.