Quelle est la différence entre la méthode d'implémentation et la méthode d'héritage?
* La différence:
* Thread hérité: le code de thread est stocké dans la méthode d'exécution de la sous-classe de thread
* Implémentation Runnable: le code de thread est stocké dans la méthode d'exécution de la sous-classe de l'interface
* Avantages de la mise en œuvre: évitez les limites de l'héritage unique
* Lors de la définition des threads, il est recommandé d'utiliser la méthode d'implémentation. Bien sûr, si une classe n'hérite pas de la classe parent, alors le multi-threading peut également être implémenté en héritant de la classe de threads.
* Remarque: l'interface runnable ne lance pas d'exception, donc la classe qui implémente ne peut être qu'un coup de main et ne peut pas lancer
* Java fournit une solution professionnelle au problème de sécurité du multithreading, qui consiste à synchroniser le bloc de code synchronisé (objet) {code qui doit être synchronisé}
* Précautions pour la synchronisation:
* 1. Il y a 2 fils ou plus
* 2. Plusieurs threads utilisent un verrou (objet)
* Avantages de la synchronisation: résolvez les problèmes de sécurité multithread
* Inconvénients de la synchronisation: plusieurs threads doivent juger la serrure, qui consomme plus de ressources
package multithreading; Le ticket de classe implémente Runnable {// private static int bick = 100; private int bick = 100; objet obj = new object (); // créer une image ou réécrire une classe vous-même pour créer un objet. Le suivant synchronise les mots clés doivent être utilisés @OverRidePublic void run () {while (true) {synchronisé (obj) // synchronisé (this) {if (tick> 0) {try {thread.sleep (10);} catch (exception e) {} system.out.printlnt (thread.currentThread (). Getname () + " "+ (tick -) +" title "); // tick -;} else {Break;}}}}} public class test {public static void main (String [] args) {ticket t = new Ticket (); // créer une classe qui implémente l'interface runnable // Créer 4 objets mulThread et passer un thread de constructeur de nouveau Thread (t); // Créer un thread Thread T3 = nouveau thread (t); // Créer un thread Thread T4 = nouveau thread (t); // Créer un thread // ouvrir thread t1.start (); t2.start (); t3.start (); t4.start ();}}Ce qui précède est le contenu complet des deux façons d'implémenter Java multi-threading pour hériter de la classe de threads et la méthode pour implémenter l'interface Runnable. J'espère que ce sera utile à tout le monde et soutenir Wulin.com plus ~