Problemas de detalles múltiples
¿Similidades y diferencias entre el método de sueño y el método de espera?
Similitudes:
Deje el hilo en estado congelado.
Diferencias:
El sueño debe especificar el tiempo
esperar puede especificar tiempo o no
El tiempo de sueño ha terminado, el hilo está en un estado de bloqueo temporal o estado en funcionamiento
Si Wait no tiene tiempo, debe despertarse a través de notificar o notificar todo
El sueño no tiene que definirse en sincronización
esperar debe definirse en sincronización
Cuando todos se definen en sincronización
Derechos de ejecución de Sleep liberadores, no cerraduras
esperar para liberar los derechos de ejecución, bloquear
sysChronized (obj) {Wait (); // 0 1 2 Código ...} SysChronized (obj) {notifyAll (); // 3 código ...}Cómo detener un hilo
Método de parada
El método de parada está desactualizado. Descubrí que hay otras soluciones después de leer la descripción.
End de hilo: deje que se ejecute el código de tarea del subproceso y finalice el método Ejecutar
¿Cómo finalizar el método de ejecución?
Definiendo un bucle
Nota: ¿Puede seguir juzgando la marca si el hilo está en un estado congelado en la tarea?
El llamado estado de interrupción no significa detener el hilo.
El estado de interrupción de interrupción causa si el hilo objetivo espera mucho tiempo, el método de interrupción debe usarse para interrumpir la espera de la llamada interrupción no es detener el hilo.
La función de la interrupción es borrar el estado de congelación del hilo y restaurar el estado en ejecución al hilo (deje que el hilo vuelva a calcular para la ejecución de la CPU).
Debido a que es obligatorio, habrá una excepción interruptaxception, y puede atrapar excepciones en la captura.
En el manejo de excepciones, cambie la marca para finalizar el bucle y deje que finalice el método Ejecutar.
Hilo de demonio
Hilo del demonio: también se puede entender como un hilo de fondo, y los hilos de primer plano creados antes son todos los hilos de primer plano.
Mientras el hilo llame a SetDaemon (verdadero); El hilo se puede marcar como un hilo de demonio.
Los subprocesos de fondo delantero son los mismos cuando se ejecutan, obteniendo los derechos de ejecución de la CPU.
Solo cuando termina es un poco diferente.
El hilo de primer plano debe terminar a través del método de ejecución y el hilo debe terminar.
El hilo de fondo también puede terminar con el método Ejecutar, y el hilo finaliza. Hay otra situación.
Cuando terminen todos los hilos de primer plano en el proceso, sin importar en qué estado esté el hilo de fondo, terminará y el proceso terminará.
El proceso termina con los hilos de primer plano de todos.
Prioridad del hilo
Prioridad del hilo: identificado por números, 1-10
Entre ellos, la prioridad inicial predeterminada es 5 y los tres niveles de prioridad más obvios son 1, 5 y 10.
setPriority (thread.max_priority);
Grupo de hilos
Grupo de subprocesos: ThreadGroup: el grupo de subprocesos al que pertenece el nuevo objeto de subproceso se puede identificar a través del constructor de subprocesos.
Los beneficios de los grupos de hilos son que pueden realizar operaciones unificadas en múltiples hilos en el mismo grupo.
Por defecto, todos pertenecen al grupo de subprocesos principales.
Clase interna anónima
Runnable rn = new runnable () {public void run () {}}; // El código anterior es equivalente a la clase AnomyMous implementos runnable {public void run () {}} runnable rn = new anomyMous ();Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!