files = %w(kawasakirb028.ipynb kawasakirb058.ipynb)
threads = files.map {|file|
Thread.fork {
num = File.readlines(file).length
"#{file}: #{num}"
}
}
threads.map(&:value)
["kawasakirb028.ipynb: 851", "kawasakirb058.ipynb: 717"]
threads
[#<Thread:0x00000007293ab8@(pry):3 dead>, #<Thread:0x000000072939a0@(pry):3 dead>]
files.map {|file|
num = File.readlines(file).length
"#{file}: #{num}"
}
["kawasakirb028.ipynb: 851", "kawasakirb058.ipynb: 717"]
threads.map {|thread| thread.value}
["kawasakirb028.ipynb: 851", "kawasakirb058.ipynb: 717"]
p Thread.main
p Thread.current
Thread.list
#<Thread:0x0000000267f4d8 run> #<Thread:0x0000000267f4d8 run>
[#<Thread:0x0000000267f4d8 run>, #<Thread:0x000000059d0580@C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/iruby-0.3/lib/iruby/session/ffi_rzmq.rb:20 sleep>]
jupyter_thread = Thread.list[-1]
for item in %w(foo bar buzz)
Thread.fork do
sleep 1
puts item
end
end
(Thread.list - [Thread.current, jupyter_thread]).each(&:join)
[#<Thread:0x0000000724efd0@(pry):5 dead>, #<Thread:0x0000000724eeb8@(pry):5 dead>, #<Thread:0x0000000724eda0@(pry):5 dead>]
Thread.list
[#<Thread:0x00000004b4f510 run>, #<Thread:0x00000005814778@C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/iruby-0.3/lib/iruby/session/ffi_rzmq.rb:20 sleep>]
次回、 「5-9-3 スレッド固有のデータ」