gpt4 book ai didi

ruby - (J)Ruby - 杀死一个线程可以吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:06:08 25 4
gpt4 key购买 nike

在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com