我正在嘗試這樣做,其中我有兩個循環將在單獨的線程中進行。我遇到的問題是,在主線程中,當我使用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