Maison >Java >javaDidacticiel >Analyse comparative de trois façons de démarrer des threads en Java
L'exemple de cet article partage la méthode de démarrage d'un fil de discussion en Java pour votre référence. Le contenu spécifique est le suivant
1 Hériter du fil
public class java_thread extends Thread{ public static void main(String args[]) { (new java_thread()).run(); System.out.println("main thread run "); } public synchronized void run() { System.out.println("sub thread run "); } }<.>2. Implémentation de l'interface Runnable
public class java_thread implements Runnable{ public static void main(String args[]) { (new Thread(new java_thread())).start(); System.out.println("main thread run "); } public void run() { System.out.println("sub thread run "); } }3. Utilisez
void java_thread() { Thread t = new Thread(new Runnable(){ public void run(){ mSoundPoolMap.put(index, mSoundPool.load(filePath, index)); getThis().LoadMediaComplete(); }}); t.start(); }directement dans le corps de la fonction 4. Comparez :
1) Convient à plusieurs threads du même code de programme pour traiter la même ressource
2) Peut éviter les limitations de l'héritage unique en Java
3) Augmentez la robustesse du programme, le code peut être partagé par plusieurs threads, et le code et les données sont indépendants.
1) La classe thread peut être abstraite lorsque la conception du modèle d'usine abstrait est nécessaire.
2) Synchronisation multi-thread
1) Pas besoin d'hériter du thread ou d'implémenter Runnable pour réduire la portée.