¿Cuál es la diferencia entre el método de implementación y el método de herencia?
*La diferencia:
*Hilo heredado: el código de subproceso se almacena en el método Ejecutar de la subclase de subprocesos
*Implementar Runnable: el código de subproceso se almacena en el método Ejecutar de la subclase de la interfaz
* Beneficios de la implementación: evite las limitaciones de la herencia única
* Al definir los hilos, se recomienda utilizar el método de implementación. Por supuesto, si una clase no hereda la clase principal, entonces el subproceso múltiple también se puede implementar heredando la clase de subprocesos.
*Nota: la interfaz ejecutable no lanza una excepción, por lo que la clase que lo implementa solo puede ser captura de try y no puede lanzar
*Java proporciona una solución profesional al problema de seguridad de la lectura múltiple, que es sincronizar el bloque de código sincronizado (objeto) {código que necesita ser sincronizado}
*Precauciones para la sincronización:
*1. Hay 2 o más hilos
*2. Múltiples hilos usan un bloqueo (objeto)
* Beneficios de la sincronización: resolver problemas de seguridad de múltiples subprocesos
* Desventajas de sincronización: múltiples hilos deben juzgar el bloqueo, que consume más recursos
paquete múltiple lectura; Class Ticket implementa Runnable {// private static int tick = 100; private int tick = 100; object obj = new Object (); // Cree una imagen o reescribe una clase usted mismo para crear un objeto. Las siguientes sincronizan las palabras clave que deben usarse @OverridePublic Void run () {while (true) {SynChronized (obj) // sincronizado (this) {if (tick> 0) {try {thread.ssleep (10);} catch (excepción e) {} system.println (thread.currentthread (). GetName ()+"sales) "+(tick-)+" title "); // tick-;} else {break;}}}}} test de clase pública {public static void main (string [] args) {ticket t = new ticket (); // crea una clase que implementa la interfaz runnable // crea 4 objetos multithread y pase el interfaz de interfaz de arriba a su construcción t1 = t1 = t); Hilo (t); // Crear un hilo de subproceso t3 = nuevo hilo (t); // Crear un hilo de subproceso t4 = nuevo hilo (t); // Cree un hilo // Abrir hilo t1.start (); t2.start (); t3.start (); t4.start ();}}}Lo anterior es el contenido completo de las dos formas de implementar Java de subprocesos múltiples para heredar la clase de subprocesos y el método para implementar la interfaz ejecutable. Espero que sea útil para todos y apoye a Wulin.com más ~