+ def join(self, *args) -> Any:
+ """Wait until the thread terminates and return the value it terminated with
+ as the result of join.
+
+ Like normal :meth:`join`, this blocks the calling thread until
+ the thread whose :meth:`join` is called terminates – either
+ normally or through an unhandled exception or until the
+ optional timeout occurs.
+
+ When the timeout argument is present and not None, it should
+ be a floating point number specifying a timeout for the
+ operation in seconds (or fractions thereof).
+
+ When the timeout argument is not present or None, the
+ operation will block until the thread terminates.
+
+ A thread can be joined many times.
+
+ :meth:`join` raises a RuntimeError if an attempt is made to join the
+ current thread as that would cause a deadlock. It is also an
+ error to join a thread before it has been started and
+ attempts to do so raises the same exception.
+ """