我正在運行一個線程將'數據'放到屏幕上。 線程的要點是阻止這個函數的阻塞,這樣我就可以在數據返回的時候向套接字發送數據。紅寶石線程仍然阻塞
def msg_loop()
t1 = Thread.new{
loop do
msg = @socket.recv(30)
self.msg_dis(msg)
end
}
t1.join
end
但是,如果我跑
myclass.msg_loop
myclass.send_msg("message to send")
功能send_msg永遠不會運行,沒有比當msg_loop沒有線程不同。
也許你想要一個Actor模型?有關信息,請參閱http://rubini.us/doc/en/systems/concurrency/或http://celluloid.io/。 – 2014-09-13 15:54:43