在大多数以控制台模式运行的服务器上,管理员可以输入命令,而服务器也会输出播放器死亡等文本。
我只是想知道如何复制这种效果。我已经搜遍了整个地方,甚至没有任何关于它是如何完成的想法。
答案 0 :(得分:0)
您需要了解threads。
所有程序至少都有一个线程,但大多数控制台应用程序只有一个。这样,程序一次只能做一件事。
想象一个程序有两个线程作为两个程序,共同朝着一个目标。
您可以创建一个执行计算的线程,一个打印所有输出的线程和一个不断从键盘读取数据的线程。这将创建一个可以同时写入和读取的程序。
另外,请记住,您需要使用多处理器计算机才能让线程为您的程序提供真正的并行性。
这是一个ruby示例,可以同时从/向控制台读取和写入数据:
a = Thread.new do
while true do
puts "Hi There!"
sleep(1)
end
end
b = Thread.new do
while true do
puts gets.strip+"!"
end
end
a.join
b.join
答案 1 :(得分:0)