You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
577 B
Ruby

# This simple fact is what makes threads so powerful, and also what makes them
# difficult to work with. I've already given you an idea of why threads are
# good; here's a simple program to illustrate their difficulty.
shared_array = Array.new
10.times.map do
Thread.new do
1000.times do
shared_array << nil
end
end
end.each(&:join)
# Here you can see that we have 10 * 10000 elements in array
puts shared_array.size
# Note that different ruby can show different result
# GIL exist only in MRI ruby
# $ ruby => 10000
# $ jruby => 7521
# $ rbx => 8541