在 Java 中,停止线程是不行的。所以,我想知道这个 (Thread.exit) 在 Ruby 中是否合适?
(FWIW,我正在使用 Ruby 的 JRuby 风格)
最佳答案
一般来说,强行停止或线程总是被禁止的,因为你不能保证干净地释放线程持有的资源和锁。所以 Nick 是对的,指示线程是时候关闭自身的变量通常更好。
但是,对于您的情况,除了强行终止线程外可能别无选择。最安全的方法是在线程中使用 Thread#raise 一些东西来允许正常的异常处理并确保 block 来清理资源。但当然,这可以由用户拯救。但是,JRuby 应该 还运行确保 block 以响应不可挽救的 Thread#kill。在任何一种情况下,您都不能保证您不会中断正在进行的确保 block ,但对于您的情况来说,这也许是一个可以接受的风险。
关于ruby - (J)Ruby - 杀死一个线程可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5220678/