Traitement des threads Java

[Traitement des threads Java]

Ceci est un mémo du traitement des threads Java utilisé dans les affaires. Je l'ai utilisé pendant le développement, donc je l'ai résumé.

Qu'est-ce qu'un fil?

Un thread est un mécanisme qui exécute plusieurs processus sur un programme en même temps.

Java dispose d'une API qui exécute plusieurs processus en même temps. → Utiliser la classe de thread (création de thread)

・ Prenons l'exemple de la caisse enregistreuse dans un dépanneur. C'est peu pratique car cela prend du temps s'il n'y a qu'une seule caisse enregistreuse quand elle est bondée de monde comme les pauses déjeuner. Si la caisse enregistreuse fonctionne à deux ou trois endroits, il sera efficace de gérer les personnes en peu de temps.

Le programme est le même et si vous exécutez plusieurs processus en même temps, vous pouvez traiter efficacement en peu de temps. Le mécanisme est des fils. Les fils sont souvent utilisés dans la vie quotidienne.

Traitement des fils

1. Héritez de la classe de thread et remplacez la méthode run ().

Dans run (), écrivez le contenu que vous souhaitez traiter dans le thread.

(Remplacer signifie hériter de la classe parente et écraser les membres de la classe parente du côté de la classe enfant lors de la déclaration de la classe enfant.)

2. À l'endroit où vous souhaitez démarrer l'exécution d'un autre thread, instanciez la classe ① et appelez la méthode start ().

(Une méthode est un nom qui combine plusieurs instructions en un seul processus. La plus petite unité d'une pièce)

//Dans la classe qui hérite de Thread, écrivez le processus que vous souhaitez exécuter dans le thread de la méthode d'exécution.

class Sample extends Thread {
  public void run() {
    System.out.println("fil");
  }
}
//Créez une instance de la classe qui hérite de Thread, appelez la méthode start et exécutez le thread.

class SampleSample {
  public static void main(String[] args) {
    ThreadSample t = new ThreadSample();
      t.start();
  }
}

//Résultat d'exécution:fil

run () est créé et start () exécute un nouveau thread.

Il est sage de ne pas utiliser stop () etc. qui peut conduire à des obstacles mortels.

Comment utiliser Thread.sleep

Il peut être utilisé lorsque vous souhaitez suspendre le fonctionnement d'un programme Java ou attendre un traitement. sleep est généralement défini avec try-catch. Cependant, il est tout à fait normal que la capture soit vide, car elle ne fait généralement rien si une exception se produit pendant le sommeil.

* Les fils doivent avoir peur correctement.

Pensez à un moyen d'éviter autant que possible d'utiliser les threads. Pour les programmes multithread, l'ensemble du programme doit être pris en compte dès la conception. Si vous devez utiliser des threads, soyez prêt à prendre de grands risques.

Prévoyez une marge suffisante pour la période de développement et le système. → Difficile de tester et d'identifier les problèmes. Cela peut affecter l'ensemble du processus de développement. En raison de la difficulté d'exécuter des tests en même temps, il est possible que des tests rigoureux ne puissent pas être effectués et que la production soit effectuée.

Même si une erreur se produit, elle n'est pas reproductible et il est difficile d'en identifier la cause et de résoudre le problème.

Si la même variable ou méthode est utilisée à partir de plusieurs threads en même temps, il existe un risque de corruption des données.

//Le traitement de contrôle exclusif est effectué par synchronisé afin d'éviter la corruption des données.
//Un seul thread peut être exécuté.

synchronized(Instance cible){
  //Code que vous souhaitez empêcher de s'exécuter simultanément à partir de plusieurs threads
}

De côté

C'est difficile à retenir parce que de nouveaux termes se succèdent dans mon travail, mais j'apprécie mon travail donc je pense que je peux continuer à faire de mon mieux à l'avenir.

Recommended Posts

Traitement des threads Java
Traitement des chaînes Java
Remarques sur le traitement des threads Android (java)
[Java] Traitement multi-thread
[Java] Traitement de flux
traitement itératif java
[Java] Thread et exécutable
Résumé des threads sûrs ~ Java ~
Traitement des appels du constructeur JAVA
Java aléatoire, divers traitements
Thread de programmation Java exécutable
[Java] Nouvelle méthode de génération de threads (2)
[Java] Traitement multi-thread - Contrôle exclusif
Java
[Java] Stream API - Traitement de l'arrêt du flux
[Java] Stream API - Traitement intermédiaire de flux
[Java] Méthode d'implémentation du traitement du minuteur
Java thread sans danger pour vous
Traitement parallèle mesuré avec Java
Comprendre le traitement parallèle Java (Introduction)
Java
Thread Java pour comprendre vaguement
Résumé du traitement des erreurs Java
[Java] Nouvelle méthode de génération de threads (1)
Traitement de la date en Java (LocalDate: Initialization)
Déléguer certains traitements Java à JavaScript
[Java] Traitement en boucle et table de quatre-vingt-dix-neuf
Exécutez node.js depuis Android Java (traitement)
processus thread-safe en java
[Traitement × Java] Comment utiliser les variables
Qu'est-ce que Thread Safe (avec Java)
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
A propos du traitement de la copie de fichiers en 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
Les variables locales Java sont thread-safe
[Java] Types d'exception et traitement de base
Apprendre Java (0)
Étudier Java ―― 3
[Java] tableau
Java protégé
[Java] Annotation
Module [Java]
Tableau Java
Étudier Java ―― 9
Java scratch scratch
Astuces Java, astuces
Méthodes Java
Méthode Java
java (constructeur)
Tableau Java
Traitement des données à l'aide de l'API de flux de Java 8
java (remplacement)
java (méthode)
Journée Java 2018
Chaîne Java
[Traitement x Java] Création d'un environnement de développement
Java statique