Responses to một số "câu trả lời tiềm năng"Killing Infinite Loops trong Java/Clojure
Bạn nên rắc "ngắt" vào chủ đề của bạn
Tôi không viết mã của tôi với mục đích của nó là một vòng lặp dài/vô hạn; nó chỉ là trong phát triển, tôi vô tình viết mã xảy ra là vòng vô hạn, do đó tôi không bao giờ có thể lập kế hoạch trước để đặt "kiểm tra xem chuỗi có bị gián đoạn" vào mã hay không.
Câu hỏi:
Như tôi đã quen thuộc hơn với Java/Clojure/Swank và phát triển mã tăng. Tôi thấy rất dễ dàng khi tôi vô tình viết một hàm clojure kết thúc là một vòng lặp vô hạn - và chạy nó. Điều này sau đó đi trước, và chốt JVM, khiến người hâm mộ trên máy tính xách tay của tôi quay lên - và về cơ bản, tôi phải giết toàn bộ JVM để loại bỏ một chuỗi chạy đi.
Bây giờ, có cách nào tôi có thể bằng cách nào đó giết các chuỗi clojure này một cách an toàn không? Tôi biết rõ rằng Thread.stop có nhiều hậu quả không an toàn (như giữ các khóa mà các chủ đề khác có thể cần, vv ...) - tuy nhiên, đây là các hàm clojure là vòng lặp vô hạn - và tôi đang thực hiện chúng bên ngoài của bất kỳ STM - vì vậy tôi tự hỏi nếu có một số cách để giết các chủ đề một cách an toàn.
Cảm ơn!
Bạn sẽ phải tìm một định nghĩa về vòng lặp vô hạn trước tiên. – Aidanc
(println (dải ô)) là một vòng lặp vô hạn. –
Đó là một ví dụ, không phải là định nghĩa – Jasper