-2
我有一个类和属性有如何使用ruby线程在类中运行一个方法?
class Person
attr_accessor :name
def say_hello
puts "person name #{self.name} "
end
end
现在我想执行say_hello但这个线程
queue_thread= []
1..100.times do |number|
person= Person.new
person.name= number.to_s
thread_to_run=Thread.new {person.say_hello}
queue_thread << thread_to_run
end
queue_thread.map {|thread_current| thread_current.join}
你有一些想法如何做到这一点的方法是什么?我看和prprmm比线程是不识别对象的实例的变量。
正确的答案应该是这个控制台
"person name 1"
"person name 2"
"person name ..."
"person name etc"
你会得到什么?作为一个说明,多个线程同时写入控制台是一个很好的混合方式。一个线程应该处理输出。 – tadman
感谢您的回答,我再次编辑,我需要通过控制台获取人名1,人名2,人名3。你可以帮我吗 ? –
如果你需要这个顺序,线程会搞砸了。你为什么穿线?您需要以某种方式收集输出并在显示之前进行排序。 – tadman