Несколько потоков, вызывающих одну и ту же функцию

Предположим, у нас есть несколько потоков, все из которых вызывают одну и ту же функцию:

<code>def foo 
  # do stuff ...
end

100.times do |i|
  Thread.new do
    foo
  end
end
</code>

Если два или более потоков в настоящее время находятся внутриfooимеют ли они одинаковые локальные переменные внутриfoo?

Это касается моего второго вопроса. Есть ли у потоков отдельные кадры стека или они совместно используют кадры стека в одном процессе? В частности, когда каждый поток вызывает несколькоfoo и раньшеfoo возвращается, есть ли несколько копийfoo в стеке, каждый со своими локальными переменными, или есть только одна копияfoo в стеке?

Ответы на вопрос(2)

Ваш ответ на вопрос