Risposte ad alcune "potenziali risposte"Uccidere Infinite Loop in Java/Clojure
Si dovrebbe cospargere "interrupt" nelle vostre discussioni
Non scrivo il mio codice con l'intenzione di esso che è un lungo processo/ciclo infinito; è solo che in fase di sviluppo, I accidentalmente codice di scrittura che sembra essere infinito cicli, quindi non posso mai pianificare in anticipo per mettere "controllare se thread got interrupted" nel codice.
Domanda:
Come ho più familiarità con Java/Clojure/Swank e lo sviluppo di codice incrementale. Trovo molto facile per me scrivere accidentalmente una funzione di clojure che finisce per essere un ciclo infinito - ed eseguirlo. Questo poi va avanti, e fissa la JVM, facendo ruotare le ventole del mio portatile - e, in pratica, devo uccidere l'intera JVM per sbarazzarmi di un thread run-away.
Ora, c'è comunque che posso in qualche modo uccidere in sicurezza questi fili del clojure? Sono ben consapevole del fatto che Thread.stop ha varie conseguenze non sicure (come tenere blocchi di cui altri thread potrebbero aver bisogno, ecc ...) - tuttavia, questi qui sono clojure funzioni che sono loop infiniti - e li sto facendo al di fuori di qualsiasi STM - quindi mi chiedo se c'è un modo per uccidere questi thread in modo sicuro.
Grazie!
Dovresti trovare una definizione di cosa sia un ciclo infinito. – Aidanc
(println (intervallo)) è un ciclo infinito. –
Questo è un esempio, non una definizione – Jasper