我正在尝试这样做,其中我有两个循环将在单独的线程中进行。我遇到的问题是,在主线程中,当我使用gets并且脚本正在等待用户输入时,另一个线程也停止等待。在等待用户输入STDIN.gets时停止脚本
class Server
def initialize
@server = TCPServer.new(8080)
run
end
def run
@thread = Thread.new(@server) { |server|
while true
newsock = server.accept
puts "some stuff after accept!"
next if !newsock
# some other stuff
end
}
end
end
def processCommand
# some user commands here
end
test = Server.new
while true do
processCommand(STDIN.gets)
end
以上只是我想要做的一个示例。
有没有办法让主线程块在等待用户输入?
您的意思是“有没有办法让***只有***的主线程块...”? – DigitalRoss 2010-03-08 06:07:47
在没有采用任何参数的方法定义之后,我摆脱了方括号。 – 2011-03-06 22:41:13