Quoting Mark Volkmann <r.mark.volkmann / gmail.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
lock.

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.

-mental