和田と申します。

スレッド内の変数について質問いたします。

スレッドをループの中に入れて、こんな風に使っています。

  for i in 1 .. 10
    ...
    Thread.start do
      th_i = i	# (A) スレッドローカルな変数にコピー
      ...
    end
    ...
  end

(A)の部分のth_iには、そのスレッドが始まった時の
iの値を代入したいのですが、タイミングによっては
forループが先に進んでしまったりしないでしょうか。

正しい書き方があれば教えてください。