Raise asynchronous exceptions in other thread, control the timeout of blocks or callables with a context manager or a decorator