Este artículo comparte con usted los métodos específicos para implementar el método ejecutable de múltiples subprocesos Java para su referencia. El contenido específico es el siguiente
(I) Pasos
1. Definir e implementar la interfaz ejecutable
2. Sobrescribe el método Ejecutar en la interfaz ejecutable y almacene el código que el hilo quiere ejecutar en el método Ejecutar.
3. Cree objetos de subprocesos a través de la clase de subprocesos.
4. Pase el objeto de subclase de la interfaz ejecutable como parámetros reales al constructor de la clase de subprocesos.
¿Por qué hablamos sobre el constructor del objeto de subclase de interfaz ejecutable que se pasa al hilo? Porque el objeto al que pertenece el método personalizado es un objeto de subclase de la interfaz ejecutable.
5. Llame al método de inicio de la clase de subprocesos para iniciar el hilo y llamar al método de ejecución de la subclase de interfaz ejecutable.
(Ii) Problema de bloque de código compartido a prueba de subprocesos
Propósito: ¿Hay algún problema de seguridad con el programa? Si es así, ¿cómo resolverlo?
Cómo encontrar la pregunta:
1. Identifique qué códigos son código de ejecución multiproceso.
2. Claramente compartir datos
3. Aclare qué declaraciones en el código multi-subprocesos funcionan para compartir datos.
Banco de clases {private int suma; public void add (int n) {sum+= n; System.out.println ("sum ="+sum); }} clase CUS implementos Runnable {private Bank b = new Bank (); public void run () {sincronizado (b) {for (int x = 0; x <3; x ++) {b.add (100); }}}} public class BankDemo {public static void main (string [] args) {cus c = new Cus (); Hilo t1 = nuevo hilo (c); Hilo t2 = nuevo hilo (c); t1.start (); t2.start (); }} O de la segunda manera, coloque el código de sincronización sincronizado en el método de modificación.
Banco de clases {private int suma; public sincronizado void add (int n) {object obj = new Object (); suma+= n; intente {thread.sleep (10); } catch (Exception e) {E.PrintStackTrace (); } System.out.println ("sum ="+sum); }} clase CUS implementos Runnable {private Bank b = new Bank (); public void run () {for (int x = 0; x <3; x ++) {b.add (100); }}} public class BankDemo {public static void main (string [] args) {cus c = new cus (); Hilo t1 = nuevo hilo (c); Hilo t2 = nuevo hilo (c); t1.start (); t2.start (); }} Resumir:
1. Defina el problema y el método para tratar en una clase.
2. Reescribe el método Ejecutar en la clase que implementa Runnable para llamar al método para manejar el problema en la clase ya definida.
Acepte el objeto de la clase para manejar el problema en el bloque sincronizado.
3. Defina múltiples hilos para ejecutar en el método principal.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.