code: def join(self, timeout=None):
          
          if not self._ioloop_managed:
              # Do nothing if the loop is not managed
              return
          try:
              self._ioloop_thread.join(timeout)
          except AttributeError:
              raise RuntimeError('Cannot join if not started')
docs: Join managed ioloop thread, or do nothing if not managed.