Ruby中的线程
为什么这段代码可以工作(我看到输出1 2 3): 但是,以下代码不会产生相同的输出(我看不到输出1 2 3)Ruby中的线程,ruby,multithreading,Ruby,Multithreading,为什么这段代码可以工作(我看到输出1 2 3): 但是,以下代码不会产生相同的输出(我看不到输出1 2 3) 当到达脚本末尾时,Ruby退出。如果在最后一个循环后添加sleep 10,则可以看到输出显示。(尽管每次都是3,因为绑定到i反映了处理结束时的值,而休眠会导致线程切换回循环。) 您可能需要以下内容: threads = [] for i in 1..3 threads << Thread.new { sleep 5 puts i } end threa
当到达脚本末尾时,Ruby退出。如果在最后一个循环后添加
sleep 10
,则可以看到输出显示。(尽管每次都是3,因为绑定到i
反映了处理结束时的值,而休眠会导致线程切换回循环。)
您可能需要以下内容:
threads = []
for i in 1..3
threads << Thread.new {
sleep 5
puts i
}
end
threads.map {|t| t.join }
threads=[]
因为我在1..3中
线程当您到达脚本末尾时,Ruby退出。如果在最后一个循环后添加sleep 10
,则可以看到输出显示。(尽管每次都是3,因为绑定到i
反映了处理结束时的值,而休眠会导致线程切换回循环。)
您可能需要以下内容:
threads = []
for i in 1..3
threads << Thread.new {
sleep 5
puts i
}
end
threads.map {|t| t.join }
threads=[]
因为我在1..3中
线程
threads = []
for i in 1..3
threads << Thread.new {
sleep 5
puts i
}
end
threads.map {|t| t.join }