Feature #19440
openDeprecate ThreadGroup
Description
I looked at the ThreadGroup methods, and none of them seem really useful.
enclose
has super confusing semantics, in that it surprisingly allows creating new threads from a thread already in that group, but forbids #add
.
So the new thread is not the same as "adding" a thread, very confusing.
This weird restriction results for instance in Timeout
not being able to move the Thread it creates to the default ThreadGroup:
https://github.com/ruby/timeout/issues/24
And there is also no method to create a Thread in the given ThreadGroup.
add
and list
could just be simulated with an Array.
Maybe it's time we deprecate ThreadGroup or at least enclose
/enclosed?
since those seem to have unusable/useless semantics?
If not, how do we cleanly solve https://github.com/ruby/timeout/issues/24?