ruby中的thread.exit和thread.pass有什么区别?
我正在学习ruby及其概念。我正在读一篇关于“ruby中的线程”的文章,其中无法区分thread.pass和thread.exit。本文包含这两种方法的定义:Thread.pass方法调用线程调度程序将执行传递给另一个线程。Thread.exit方法终止当前正在运行的线程,并安排另一个线程运行ruby中的thread.exit和thread.pass有什么区别?,ruby,Ruby,我正在学习ruby及其概念。我正在读一篇关于“ruby中的线程”的文章,其中无法区分thread.pass和thread.exit。本文包含这两种方法的定义:Thread.pass方法调用线程调度程序将执行传递给另一个线程。Thread.exit方法终止当前正在运行的线程,并安排另一个线程运行 但我在使用这些方法时感到困惑。你能帮我整理一下吗。感谢Thread.pass让位于要执行的其他线程,但最终,调度程序将把执行传递给它。exit终止线程(并因此通知调度程序将执行传递给另一个线程)。我希望这
但我在使用这些方法时感到困惑。你能帮我整理一下吗。感谢Thread.pass让位于要执行的其他线程,但最终,调度程序将把执行传递给它。exit终止线程(并因此通知调度程序将执行传递给另一个线程)。我希望这有帮助。如果没有,请包括引起混淆的代码
t1 = Thread.new do
10.times do |i|
if i < 5
puts i
sleep 0.1
Thread.pass
else
Thread.exit
end
end
end
sleep 0.05
t2 = Thread.new do
10.times do |i|
puts i
sleep 0.1
end
end
t1.join
t2.join
但是这是否意味着在执行thread.exit之后,退出的线程将永远处于休眠状态,或者在什么时间间隔再次调用它。它将永远不会被调用。你能为我提供最好的东西吗?我指的是链接或博客……谢谢
0
0
1
1
2
2
3
3
4
4
5
6
7
8
9