Cet article partage avec vous les méthodes spécifiques de mise en œuvre de la méthode Runnable de Java Multi-Threading pour votre référence. Le contenu spécifique est le suivant
(I) Étapes
1. Définir et implémenter l'interface runnable
2. Écraser la méthode d'exécution dans l'interface Runnable et stocker le code que le thread souhaite exécuter dans la méthode d'exécution.
3. Créez des objets de thread via la classe de threads.
4. Passez l'objet de sous-classe de l'interface Runnable en tant que paramètres réels au constructeur de la classe de thread.
Pourquoi parlons-nous du constructeur de l'objet de sous-classe d'interface Runnable transmis au thread? Parce que l'objet sur lequel appartient la méthode personnalisée est un objet de sous-classe de l'interface Runnable.
5. Appelez la méthode de démarrage de la classe de threads pour démarrer le thread et appelez la méthode d'exécution de la sous-classe d'interface Runnable.
(Ii) Problème de bloc de code partagé en filetage
Objectif: Y a-t-il un problème de sécurité avec le programme? Si oui, comment le résoudre?
Comment trouver la question:
1. Identifiez les codes qui sont du code d'exécution multi-thread.
2. Partagez clairement les données
3. Clarifier quelles instructions du code multi-thread fonctionnent pour partager des données.
Classe Bank {private int sum; public void add (int n) {sum + = n; System.out.println ("sum =" + sum); }} classe CUS implémente Runnable {private Bank b = new Bank (); public void run () {synchronisé (b) {pour (int x = 0; x <3; x ++) {b.add (100); }}}} classe publique BankDemo {public static void main (String [] args) {cus c = new cus (); Thread t1 = nouveau thread (c); Thread t2 = nouveau thread (c); t1.start (); t2.start (); }} Ou dans la deuxième façon, mettez le code de synchronisation synchronisé dans la méthode de modification.
Classe Bank {private int sum; public synchronisé void add (int n) {objet obj = nouveau objet (); sum + = n; essayez {thread.sleep (10); } catch (exception e) {e.printStackTrace (); } System.out.println ("sum =" + sum); }} classe CUS implémente Runnable {private Bank b = new Bank (); public void run () {for (int x = 0; x <3; x ++) {b.add (100); }}} classe publique BankDemo {public static void main (String [] args) {cus c = new cus (); Thread t1 = nouveau thread (c); Thread t2 = nouveau thread (c); t1.start (); t2.start (); }} Résumer:
1. Définissez le problème et la méthode à gérer dans une classe.
2. Réécrivez la méthode d'exécution dans la classe qui implémente Runnable pour appeler la méthode pour gérer le problème dans la classe déjà définie.
Acceptez l'objet de la classe pour gérer le problème dans le bloc synchronisé.
3. Définissez plusieurs threads à exécuter dans la méthode principale.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.