Для чего нужна группа Руби? - PullRequest
11 голосов
/ 10 мая 2011

Я пролистал кирку, искал документацию по Thread и наткнулся на ThreadGroup.

Документация описывает, что она делает, но не объясняет, для чего она.

Связана ли группа потоков с пулом потоков, который, как я предположил, в Ruby отсутствует ?

1 Ответ

8 голосов
/ 10 мая 2011

Новые потоки создаются в ThreadGroup их родителей. Вы можете использовать ThreadGroup, чтобы организовать неявную древовидную структуру, заданную родительскими потоками, порождающими другие потоки, и использовать метод экземпляра list, чтобы получить все потоки, которые еще не завершены, то есть определить методы, работающие со всеми потоками в группе.

Кроме того, вы можете использовать enclose, чтобы запретить добавление (или удаление) потоков в эту группу, если вы запускаете ненадежный код и хотите следить за потоками, которые он порождает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...