KekLib.KillableThread#
KillableThread.py
borrowed from http://tomerfiliba.com/recipes/Thread2/
Copyright (c) 2019-2020, Masatsuyo Takahashi, KEK-PF
- class Thread(group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None, context=None)#
Bases:
ThreadThis constructor should always be called with keyword arguments. Arguments are:
group should be None; reserved for future extension when a ThreadGroup class is implemented.
target is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.
name is the thread name. By default, a unique name is constructed of the form “Thread-N” where N is a small decimal number.
args is a list or tuple of arguments for the target invocation. Defaults to ().
kwargs is a dictionary of keyword arguments for the target invocation. Defaults to {}.
context is the contextvars.Context value to use for the thread. The default value is None, which means to check sys.flags.thread_inherit_context. If that flag is true, use a copy of the context of the caller. If false, use an empty context. To explicitly start with an empty context, pass a new instance of contextvars.Context(). To explicitly start with a copy of the current context, pass the value from contextvars.copy_context().
If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.
- raise_exc(exctype)#
raises the given exception type in the context of this thread
- terminate()#
raises SystemExit in the context of the given thread, which should cause the thread to exit silently (unless caught)