スレッドt2が動き始めるまでに
スレッドt1の実行が終わっちゃうからですよ
処理内容が軽すぎるのが要因
繰り返しを数百以上にするとか
sleep 0.1
をはさんでみるとか

あとはスレッドの切り替わるタイミング
Ruby1.8.7だと混ざらないけど
1.9だとそのままでもちゃんと混ざりますよ
1.9ではスレッドの実装方法が変更されたので