class documentation

An IExclusiveWorker implemented based on a single thread and a queue.

This worker ensures exclusivity (i.e. it is an IExclusiveWorker and not an IWorker) by performing all of the work passed to do on the same thread.

Method __init__ Create a ThreadWorker with a function to start a thread and a queue to use to communicate with that thread.
Method do Perform the given task on the thread owned by this ThreadWorker.
Method quit Reject all future work and stop the thread started by __init__.
Instance Variable _hasQuit Undocumented
Instance Variable _q Undocumented
def __init__(self, startThread: Callable[[Callable[[], object]], object], queue: SimpleQueue[(Callable[[], object]|Literal[Stop.Thread])]): (source)

Create a ThreadWorker with a function to start a thread and a queue to use to communicate with that thread.

Parameters
startThread:Callable[[Callable[[], object]], object]a callable that takes a callable to run in another thread.
queue:SimpleQueue[(Callable[[], object]|Literal[Stop.Thread])]A Queue to use to give tasks to the thread created by startThread.
def do(self, task: Callable[[], None]): (source)

Perform the given task on the thread owned by this ThreadWorker.

Parameters
task:Callable[[], None]the function to call on a thread.
def quit(self): (source)

Reject all future work and stop the thread started by __init__.

_hasQuit = (source)

Undocumented

Undocumented