这是代码:
while 1
input = gets
puts input
end
这是我想做的,但我不知道该怎么做:我想创建多个代码实例以在后台运行并能够将输入传递给特定实例。
Q1:如何在后台运行多个脚本实例?
Q2:如何引用脚本的单个实例,以便将输入传递给实例(Q3)?
Q3: 脚本使用 cmd "gets" 获取输入,如何将输入传递到个人脚本的 get 中?
例如
假设我在后台运行三个代码实例,我将实例分别称为#1、#2 和#3。我将“hello”传递给#1,#1 将“hello”放到屏幕上。然后我将“world”传递给#3,而#3 将“hello”放到屏幕上。
谢谢!
更新:回答了我自己的问题。发现这个很棒的 tut:http ://rubylearning.com/satishtalim/ruby_threads.html和资源在这里:http ://www.ruby-doc.org/core/classes/Thread.html#M000826 。
puts Thread.main
x = Thread.new{loop{puts 'x'; puts gets; Thread.stop}}
y = Thread.new{loop{puts 'y'; puts gets; Thread.stop}}
z = Thread.new{loop{puts 'z'; puts gets; Thread.stop}}
while x.status != "sleep" and y.status != "sleep" and z.status !="sleep"
sleep(1)
end
Thread.list.each {|thr| p thr }
x.run
x.join
谢谢大家的帮助!帮助澄清了我的想法。