Files
MLPproject/.venv/lib/python3.12/site-packages/ipykernel/thread.py
2025-10-23 15:44:32 +02:00

34 lines
785 B
Python

"""Base class for threads."""
from threading import Thread
from tornado.ioloop import IOLoop
CONTROL_THREAD_NAME = "Control"
SHELL_CHANNEL_THREAD_NAME = "Shell channel"
class BaseThread(Thread):
"""Base class for threads."""
def __init__(self, **kwargs):
"""Initialize the thread."""
super().__init__(**kwargs)
self.io_loop = IOLoop(make_current=False)
self.pydev_do_not_trace = True
self.is_pydev_daemon_thread = True
def run(self) -> None:
"""Run the thread."""
try:
self.io_loop.start()
finally:
self.io_loop.close()
def stop(self) -> None:
"""Stop the thread.
This method is threadsafe.
"""
self.io_loop.add_callback(self.io_loop.stop)