Вот код:
while 1
input = gets
puts input
end
Вот что я хочу сделать, но я понятия не имею, как это сделать:
Я хочу создать несколько экземпляров кода для запуска в фоновом режиме и иметь возможность передавать входные данные для конкретного экземпляра.
Q1: Как запустить несколько экземпляров скрипта в фоновом режиме?
Q2: Как обратиться к отдельному экземпляру сценария, чтобы я мог передать входные данные в экземпляр (Q3)?
В3: Скрипт использует cmd «получает» для получения ввода, как бы я передал ввод в получение скрипта индивида?
1012 * например *
Допустим, я запускаю три экземпляра кода в фоновом режиме и называю этот экземпляр № 1, № 2 и № 3 соответственно.
Я передаю "привет" # 1, # 1 выводит "привет" на экран.
Затем я передаю «мир» №3, а №3 выводит «привет» на экран.
Спасибо!
UPDATE:
Ответил на мой собственный вопрос. Нашел этот классный текст: 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
Спасибо за помощь, ребята! Помогите прояснить мое мышление.