いくつかの「潜在的な回答」への回答
スレッドに「割り込み」を振りかける必要があります
長いプロセス/無限ループになることを意図してコードを記述しません。開発中に、たまたま無限ループになるコードを誤って記述してしまったため、「スレッドが中断されたかどうかを確認する」というコードを事前に計画することはできません。
質問:
Java / Clojure/Swankとインクリメンタルコード開発に慣れてきました。誤って無限ループになるclojure関数を作成して実行するのは非常に簡単です。次に、これが先に進み、JVMをペグして、ラップトップのファンをスピンアップさせます。基本的に、1つの暴走スレッドを取り除くには、JVM全体を強制終了する必要があります。
さて、とにかく私はこれらのclojureスレッドを安全に殺すことができますか?Thread.stopがさまざまな危険な結果をもたらすことをよく知っています(他のスレッドが必要とする可能性のあるロックの保持など...)-しかし、これらは無限ループであるclojure関数です-そして私はそれらを外部で実行しています任意のSTM-したがって、これらのスレッドを安全に強制終了する方法があるかどうか疑問に思っています。
ありがとう!