Cómo matar a un hilo conductor en Javamatando un hilo en ejecución en java?
Respuesta
Puede pedir el hilo para interrumpir, llamando Thread.interrupt()
Tenga en cuenta que existen algunos otros métodos con una semántica similar - stop()
y destroy()
- pero son obsoleta , porque son unsafe. No tengas la tentación de usarlos.
. destroy() no está privado. – JavaUser
Consulte el enlace "inseguro" de Bozho, en particular la sección "¿Qué debo usar en lugar de Thread.stop()", para ver la forma canónica de reall * kill * un hilo? Interrumpir simplemente hará que las llamadas de bloqueo actualmente en ejecución dejen de ejecutarse, pero por sí mismas no impedirá que se ejecute el hilo. –
@JavaUser es, a partir de Java 1.5 – Bozho
Poco necesita Thread.interrupt()
Para más detalles consultar la sección de How do I stop a thread that waits for long periods (e.g., for input)
en este artículo Why Are Thread.stop
, Thread.suspend
,Thread.resume
and Runtime.runFinalizersOnExit
Deprecated?.
Como dijo Bozho, Thread.interrupt() es la forma genérica y correcta de hacerlo. Pero recuerda que requiere que el hilo coopere; Es muy fácil implementar un hilo que ignora las solicitudes de interrupción.
Para que un fragmento de código sea interrumpible de esta manera, no debe ignorar ninguna InterruptedException, y debe verificar el indicador de interrupción en cada iteración de bucle (utilizando Thread.currentThread(). IsInterrupted()). Además, no debería tener ninguna operación de bloqueo no interrumpible. Si tales operaciones existen (por ejemplo, esperar en un socket), entonces necesitará una implementación de interrupción más específica (por ejemplo, cerrar el socket).
- 1. Interrumpir/matar a un hilo en ejecución
- 2. "Gracefully" matando un proceso
- 3. Detener un hilo en Java?
- 4. Realmente matando un proceso en Windows
- 5. ¿Puedo ejecutar un hilo dentro de un hilo en java?
- 6. Obtener una lista de procesos en ejecución y matando a un proceso específico
- 7. Método de ejecución en el hilo principal de otro hilo
- 8. Código de ejecución en el hilo principal de otro hilo
- 9. ¿Cómo puedo matar un hilo de otro hilo en Java?
- 10. cómo pasar datos al hilo en ejecución
- 11. ¿Cómo acceder al hilo en ejecución/ejecutable?
- 12. ¿Cómo reutilizar un hilo en Java?
- 13. cuánta memoria toma un hilo en java
- 14. Herramientas para supervisar la ejecución del hilo java
- 15. ¿Cómo medir el tiempo de ejecución del hilo de Java?
- 16. Crear un volcado de hilo en OpenVMS
- 17. ¿Cómo reiniciar el hilo en java?
- 18. ¿Cómo cuelgas un hilo en Java en una línea?
- 19. llamando al hilo principal desde el hilo Runnable en java
- 20. Algo sigue matando mi proceso de Java en Ubuntu, ¿alguien sabe por qué?
- 21. ¿Cómo matar un subproceso en Java que está en estado EN EJECUCIÓN?
- 22. Método del hilo actual java
- 23. Forzar la ejecución del código en el hilo principal
- 24. Ejecutar hilo de Java en momentos específicos
- 25. Temporizador en el hilo de Java
- 26. En C++ 11, ¿cuál es el punto de un hilo que "no representa un hilo de ejecución"?
- 27. Java hace que javax.swing.Timer se ejecute en un nuevo hilo?
- 28. ¿Cómo saber qué hilo está bloqueando un archivo en Java?
- 29. Java: ¿cómo puede esperar un hilo en varios objetos?
- 30. Cómo hacer un límite de hilo en Java
posible engaño: http://stackoverflow.com/questions/94011/how-to-abort-a-thread-in-a-fast-and-clean-way-in-java –