Ruby 核心类与标准库深度解析
1. ThreadGroup 类
1.1 概述
ThreadGroup
类用于跟踪多个线程。一个线程在同一时间只能属于一个 ThreadGroup
,当将一个线程添加到某个组时,它会从当前所在的组中移除。新创建的线程会属于创建它们的线程所在的组。
1.2 常量
-
Default
:默认的线程组。
1.3 类方法
-
ThreadGroup.new
:返回一个新创建的ThreadGroup
,该组初始为空。
1.4 实例方法
-
thgrp.add(thread)
:将给定的线程添加到该组,并将其从之前所属的任何组中移除。示例代码如下:
puts "Default group is #{ThreadGroup::Default.list}"
tg = ThreadGroup.new
t1 = Thread.new { sleep }
t2 = Thread.new { sleep }
puts "t1 is #{t1}, t2 is #{t2}"
tg.add(t1)
puts "Default group now #{ThreadGroup::Default.list}"
puts "tg group n