Ruby 初心者スレッド Part 14
■ このスレッドは過去ログ倉庫に格納されています
0012デフォルトの名無しさん
2007/08/26(日) 22:34:20そこで
accept = TCPServer.open(8080)
while true
Thread.start(accept.accept) do |s
s.gets
print $_
end
end
のようなRubyの解説サイトにあったコードを書いたのですが…。
スレッド内からprintのような関数は使えないのでしょうか?
全く文字を表示してくれません。
また、print $_の部分に
File.open("log.txt","w") do |f|
f.write(f)
end
のようにファイル出力させても、ファイルが出力されません。
スレッド内で、ファイル出力や標準出力させるにはどうすれば良いのでしょうか?
念のため、排他的処理をしようとm=Mutex::newをやってから
print $_をm.synchronize{}で囲っても結果は同じでした。
環境は
ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-cygwin]
です。
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています