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é.
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.
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.)
(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
Il est sage de ne pas utiliser stop () etc. qui peut conduire à des obstacles mortels.
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.
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
}
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