【发布时间】:2013-12-25 22:04:57
【问题描述】:
我在执行其他任务时尝试在套接字上侦听,但我的程序卡在侦听循环中,无法执行其他任何操作。我使用的代码是:
t = Thread.new do
@listener.listen
end
t.join
puts('do more stuff')
@listener.listen 在哪里:
def listen
puts('listening')
while true
data = p @socket.recv(1000) # Receive
respond(JSON.parse(data))
end
end
如果我这样做,程序会卡在 while 循环中,并且永远不会打印“做更多事情”。有人知道为什么会这样吗?
【问题讨论】:
标签: ruby multithreading infinite-loop