[Java] Traitement multi-thread

Conclusion

Qu'est-ce qu'un fil

Qu'est-ce qu'un processus

Processus 1    | Fil 1..n

Configuration de la mémoire

1111_1.png

Partage de l'espace mémoire indépendant des fonctionnalités de thread

public class Main {
    String hoge = "hoge"; //Cette variable est partagée
    public static void main(String[] args) {
        new Main().run();
    }
    private void run(){
        while (true) {
            System.out.println("1"); //Fil principal
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("2");
        }
    }
}

Création / exécution de threads

Hériter de la classe Thread

public class MyThread extends Thread {
//Le traitement réel du thread est une classe dérivée de Thread
  @Override
  public void run() {
    for (var i = 0; i < 30; i++) {
      //Obtenir le nom du thread avec getName
      System.out.println(this.getName() + ": " + i);
    }
  }
}
public class ThreadBasic {

  public static void main(String[] args) {
    //Instantanez et créez des threads
    var th1 = new MyThread();
    var th2 = new MyThread();
    var th3 = new MyThread();
    //Démarrer le fil avec la méthode de démarrage
    th1.start();
    th2.start();
    th3.start();
  }
}

Implémentation d'interface exécutable

public class MyRunner implements Runnable {
  //Traitement réel du fil
  @Override
  public void run() {
    for (var i = 0; i < 30; i++) {
      System.out.println(Thread.currentThread().getName() + ": " + i);
    }
  }
}
public class RunnableBasic {

  public static void main(String[] args) {
    //Création de fil
    var th1 = new Thread(new MyRunner());
    var th2 = new Thread(new MyRunner());
    var th3 = new Thread(new MyRunner());
    //Début du fil
    th1.start();
    th2.start();
    th3.start();
  }
}

Recommended Posts

[Java] Traitement multi-thread
Traitement des threads Java
Traitement des chaînes Java
[Java] Traitement de flux
traitement itératif java
Traitement des appels du constructeur JAVA
Java aléatoire, divers traitements
Java
[Java] Méthode d'implémentation du traitement du minuteur
Traitement parallèle mesuré avec Java
Comprendre le traitement parallèle Java (Introduction)
Java
Résumé du traitement des erreurs Java
Déléguer certains traitements Java à JavaScript
Exécutez node.js depuis Android Java (traitement)
[Traitement × Java] Comment utiliser les variables
Traitement serveur avec Java (Introduction partie 1)
Traitement de flux d'inversion de liste Java étonnamment profond
Flux de traitement de base de Java Stream
Remarques sur le traitement des threads Android (java)
Suppression de fichiers à l’aide du traitement récursif [Java]
[Traitement × Java] Comment utiliser les tableaux
[Java] Mémo de méthode de mesure du temps de traitement
[Java] Types d'exception et traitement de base
Apprendre Java (0)
Étudier Java ―― 3
[Java] tableau
[Java] Annotation
Module [Java]
Tableau Java
Astuces Java, astuces
Méthodes Java
Méthode Java
java (constructeur)
Tableau Java
[Java] ArrayDeque
Traitement des données à l'aide de l'API de flux de Java 8
java (remplacement)
java (méthode)
Journée Java 2018
[Traitement x Java] Création d'un environnement de développement
java (tableau)
Java statique
Sérialisation Java
JAVA payé
Java (ensemble)
tri shell java
Étudier Java -5
java réfléchissant 获 获 举
java (interface)
Mémorandum Java
Étudier Java ―― 1
[Java] Array
[Java] Polymorphisme
Étudier Java # 0
Revue Java
framework java
Fonctionnalités Java
Traitement de la date
Fonctionnalités Java