Red de conocimiento informático - Material del sitio web - ¿Cómo escribir un programa Java multiproceso?

¿Cómo escribir un programa Java multiproceso?

Java proporciona soporte integrado para programación multiproceso. Un subproceso se refiere a un único flujo de control secuencial en un proceso. Se pueden ejecutar varios subprocesos al mismo tiempo en un proceso y cada subproceso realiza diferentes tareas en paralelo. Nuevo estado:

Después de usar la nueva palabra clave y la clase Thread o su subclase para crear un objeto thread, el objeto thread está en el nuevo estado. Permanece en este estado hasta que el programa inicia() este hilo. Estado listo:

Cuando el objeto del hilo llama al método start(), el hilo entra en el estado listo. Los subprocesos en estado listo están en la cola listos y están esperando la programación por parte del programador de subprocesos en la JVM. Estado de ejecución:

Si el subproceso en el estado listo obtiene recursos de la CPU, puede ejecutar run () y el subproceso está en el estado de ejecución. El hilo en estado de ejecución es el más complejo, puede bloquearse, estar listo y morir. Estado de bloqueo:

Si un hilo ejecuta dormir (dormir), suspender (suspender) y otros métodos, después de perder los recursos ocupados, el hilo entrará en el estado de bloqueo desde el estado de ejecución. Se puede volver a ingresar al estado listo después de que haya expirado el tiempo de suspensión o se hayan obtenido los recursos del dispositivo. Se puede dividir en tres tipos:

Bloqueo en espera: el subproceso en estado de ejecución ejecuta el método de espera (), lo que hace que el subproceso entre en el estado de bloqueo en espera.

Bloqueo de sincronización: el subproceso no logra adquirir el bloqueo de sincronización sincronizado (porque el bloqueo de sincronización está ocupado por otros subprocesos).

Otro bloqueo: cuando se emite una solicitud de E/S llamando al hilo de suspensión () o unión (), el hilo entrará en el estado de bloqueo. Cuando el estado de suspensión () se agota, join () espera a que el subproceso finalice o se agote el tiempo de espera, o que se complete el procesamiento de E/S, y el subproceso vuelve al estado listo. Estado de muerte:

Cuando un subproceso en ejecución completa su tarea o se producen otras condiciones de terminación, el subproceso cambia al estado terminado.