とみたです。

http://www.ruby-lang.org/ja/man-1.4/socket.html#TCPServer の、
スレッドを使った例って安全なんでしょうか。

次のようなサンプルを動かして、

	require 'socket'
	s = TCPServer::new(11111)
	while true
	  s2 = s.accept
	  Thread::new do
	    sleep 0.1
	    p s2
	  end
	end

例えば4つのクライアントから同時にアクセスすると、

	#<TCPSocket:0x40178080>
	#<TCPSocket:0x40178080>
	#<TCPSocket:0x40177fcc>
	#<TCPSocket:0x40177fcc>

となって、複数のスレッドが同じソケットにアクセスしてしまうようです。
sleep 0.1 が無ければ問題ないようなんですが、それが確実な方法なのか、
たまたまうまくいっているだけなのかわかりません。

---
とみたまさひろ <tommy / tmtm.org> http://www.tmtm.org
日本MySQLユーザ会 http://www.mysql.gr.jp