putsはスレッドセーフじゃない。

今日のへぇ。

実はputsは、背後で、引数の出力と改行の出力の2つに処理を分割して実行します。このため、この2つの処理の間に別のスレッドがスケジュールされ、別のスレッドの出力が挟まれしまう可能性があります。

—– プログラミングRuby 第2版 言語編 p.119

なのでprint “foobar\n”使ってね、と。既視感があるけど気にしないでおこう。

タイトルとURLをコピーしました