Ruby 红宝石线程死亡?

Ruby 红宝石线程死亡?,ruby,multithreading,Ruby,Multithreading,我一直在玩线程,但我不断遇到一个问题,其中的踏板似乎只是死亡或停止 这是怎么回事?我怎样才能摆脱它呢 我已经包含了代码,但没有粘贴到这里,因为我认为这个问题对于ruby来说更为重要。 谢谢 编辑 Ruby 1.8,MacOS(雪豹)看起来您忘记了将新的线程对象添加到线程对象中 3.times do |t| threads << Thread.new { word_list.process } end 3.0倍| threads看起来您忘记将新的Thread对象添加到threa

我一直在玩线程,但我不断遇到一个问题,其中的踏板似乎只是死亡或停止

这是怎么回事?我怎样才能摆脱它呢


我已经包含了代码,但没有粘贴到这里,因为我认为这个问题对于ruby来说更为重要。

谢谢

编辑
Ruby 1.8,MacOS(雪豹)

看起来您忘记了将新的线程对象添加到线程对象中

3.times do |t|
  threads << Thread.new { word_list.process }
end
3.0倍|

threads看起来您忘记将新的Thread对象添加到threads对象

3.times do |t|
  threads << Thread.new { word_list.process }
end
3.0倍|

线程如果您有随机“离开”的线程,请确保已将
Thread.abort\u on\u exception
设置为
true
。如果未捕获的异常到达后台线程的顶层(通过
SystemExit
,因此不要
rescue exception
,否则它们将被吞没),这将停止解释器,并且在跟踪随机错误时非常有用。

如果线程随机“离开”,确保已将
线程。异常时中止
设置为
true
。如果未捕获的异常到达后台线程中的顶层(通过
SystemExit
,因此不要
rescue exception
,否则它们将被吞没),这将停止解释器,并且在跟踪随机错误时非常有用

“我已经包含了代码,但没有粘贴到这里,因为我认为这个问题对ruby更为重要。”-跟我说一遍:select没有坏!@Andrew Grimm.select没有坏@Frank Schmitt MacOS“我已经包含了代码,但没有粘贴到这里,因为我认为这个问题对ruby更为重要。“-跟着我重复:选择没有被破坏@安德鲁·格林。我同意Frank Schmitt MacOSYep的说法,Select没有坏掉——这看起来很有意义。哦,不幸的是,它并没有解决问题。在线程上调用状态显示它们一个接一个地消失:(是的,我同意-这看起来很相关。哦,不幸的是,这并不能解决问题。在线程上调用状态显示它们一个接一个地消失:(