我实现了异步线程管理器,我想传递对线程的引用,它应该保存他的工作结果。然后当所有线程完成时,我将处理所有结果。
我需要知道如何使用“参考”。
假设我有变量result
(或hash[:result1]
),我想将它传递给线程
def test_func
return 777;
end
def thread_start(result)
Thread.new do
result = test_func;
end
end
我想要的是得到以下结果
result = 555
thread_start(result);
#thread_wait_logic_there
result == 777; #=> true
hash = {:res1 => 555};
thread_start(hash[:res1])
#thread_wait_logic_there
hash[:res1]==777 #=> true
我应该在我的代码中更改什么以使其工作?
Ruby 版本是 1.9.3