Le multithreading Java est l'une des fonctionnalités avancées de Java. Grâce au multithreading, nous pouvons réaliser à la fois un travail multitâche et collaboratif, améliorant ainsi l'efficacité du programme. dans certaines circonstances, mais Java multi-threading Toujours à utiliser avec prudence. (Apprentissage recommandé : Cours Java )
Tout d'abord, le multi-threading Java nécessite des compétences de codage plus élevées, une utilisation inappropriée provoquera des erreurs de programme, une concurrence malveillante entre les threads être compétitif. L’impasse provoque le gel du programme. Deuxièmement, l'abus du multi-threading peut perturber certains paramètres clés. Dans ce cas, la synchronisation et la gestion des verrouillages entre les threads doivent être bien faites. Troisièmement, le changement de thread nécessite des coûts supplémentaires, souvent appelés « changement de contexte ». S'il est mal utilisé, non seulement l'efficacité ne sera pas améliorée, mais elle entraînera une forte diminution de l'efficacité.Comment implémenter le multi-threading en Java
Hériter du thread pour implémenter le multi-threading
Java fournit une super classe Thread for Let's extend. Une fois que vous en avez hérité, vous pouvez implémenter le multi-threading en remplaçant la méthode run. Le code spécifique est le suivant :package com.dingtao.test; import java.io.*; public class MyThread extends Thread{ @Override public void run() { System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) throws IOException { Thread t1 = new MyThread(); Thread t2 = new MyThread(); t1.start(); t2.start(); } }
En implémentant l'interface Runnable.
Parce que certaines classes ne peuvent pas hériter de Thread pour implémenter le multi-threading, car Java stipule qu'une seule super classe peut être héritée en même temps, mais elle peut implémenter plusieurs interfaces en même temps, donc Runnable est encore plus populaire. Le code spécifique est le suivant :package com.dingtao.test; import java.io.*; public class MyThread implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) throws IOException { Thread t1 = new Thread(new MyThread()); Thread t2 = new Thread(new MyThread()); t1.start(); t2.start(); } }
Utiliser Callable pour implémenter un fil de discussion
Le code spécifique est le suivant :package com.dingtao.test; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public class MyThread implements Callable<Integer>{ public static void main(String[] args){ MyThread t1 = new MyThread(); FutureTask<Integer> future = new FutureTask<Integer>(t1); new Thread(future,"呵呵哒").start(); } @Override public Integer call() throws Exception { System.out.println(Thread.currentThread().getName()); return null; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!