THREADS = 10
1000.times do
threads = []
THREADS.times do
threads << Thread.new do
sleep
end
end
if (size = Thread.list.size) != THREADS + 1
raise "wrong! (expected #{THREADS + 1} but was #{size})"
end
threads.each do |t|
Thread.pass until t.status == 'sleep'
t.wakeup
t.join
end
end