Quoting Mark V. email@example.com:
If I create a thread and don’t want it to be eligible to run
until I decide to make it eligible later, how do I make it sleep?
In other words, what’s the opposite of Thread.wakeup?
Thread::stop stops the execution of the current thread. I need a
way to stop execution of a thread that is not the current thread
so that it won’t be scheduled.
Stop it at what point in its execution, though? You don’t want to
go stopping it at some random place, where it might be holding a
The best way to do this is to establish some communication channel
between the threads, sending a message to the thread in response to
which it can call Thread::stop in a known-safe place.