Heim  >  Artikel  >  Java  >  So implementieren Sie Multithreading in Java

So implementieren Sie Multithreading in Java

(*-*)浩
(*-*)浩Original
2019-12-04 09:16:225984Durchsuche

So implementieren Sie Multithreading in Java

Java-Multithreading ist eine der erweiterten Funktionen von Java. Durch Multithreading können wir gleichzeitig Multitasking und Zusammenarbeit erreichen und so die Programmeffizienz verbessern Unter bestimmten Umständen ist Java Multithreading jedoch immer noch mit Vorsicht zu verwenden. (Empfohlenes Lernen: Java-Kurs )

Erstens erfordert Java-Multithreading höhere Programmierkenntnisse. Bei unsachgemäßer Verwendung führt dies zu Programmfehlern und böswilligem Wettbewerb zwischen Threads Ein Deadlock führt dazu, dass das Programm einfriert.

Zweitens kann der Missbrauch von Multithreading dazu führen, dass einige wichtige Parameter gestört werden. In diesem Fall müssen die Synchronisierung und die Sperrverwaltung zwischen Threads gut durchgeführt werden.

Drittens verursacht der Thread-Wechsel zusätzliche Kosten, was oft als „Kontextwechsel“ bezeichnet wird. Bei unsachgemäßer Verwendung wird die Effizienz nicht nur nicht verbessert, sondern führt auch zu einem starken Effizienzverlust.

So implementieren Sie Multithreading in Java

Thread erben, um Multithreading zu implementieren

Java bietet eine Superklasse Thread zum Erweitern. Sobald Sie es erben, können Sie Multithreading implementieren, indem Sie die Ausführungsmethode überschreiben. Der spezifische Code lautet wie folgt:

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();
    }
}

Durch Implementierung der Runnable-Schnittstelle

Da einige Klassen Thread nicht erben können, um Multithreading zu implementieren, da Java vorschreibt, dass nur eine Superklasse gleichzeitig geerbt werden kann, aber mehrere Schnittstellen gleichzeitig implementieren können, ist Runnable noch größer beliebt. Der spezifische Code lautet wie folgt:

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();
    }
}

Verwenden Sie Callable, um einen Thread zu implementieren

Der spezifische Code lautet wie folgt:

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;
    }
}

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Multithreading in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn