Heim >Java >javaLernprogramm >JAVA – Threads und Multithreading Detaillierte grafische Erklärung

JAVA – Threads und Multithreading Detaillierte grafische Erklärung

php是最好的语言
php是最好的语言Original
2018-08-08 10:28:411298Durchsuche

【Thread】Einzelner Aufgabenablauf im Java-Programm. Wir implementieren jede Aufgabe in einem relativ unabhängigen Thread. main ist der Hauptthread

【Parallelität】Erledigen Sie mehrere Aufgaben gleichzeitig. Die Schritte der Programmausführung sind alle in der richtigen Reihenfolge, aber oft müssen wir ein Problem gleichzeitig verarbeiten, anstatt es nacheinander zu verarbeiten
[Multithreading] Threads werden auch als Objekte betrachtet, und Multithreading bezieht sich auf mehrere Threads Objekte
[Klassen, die Threads in der API unterstützen] java.lang.Thread. Das Objekt der Thread-Klasse ist das Thread-Objekt
Übung 1. Initialisieren Sie das Thread-Objekt und drucken Sie den Thread

package pkg3;public class test3 implements Runnable{
   Thread th1;   public test3() {//2
       th1=new Thread(this);//2-1初始化了线程对象
       th1.start();//2-2启动了线程对象,自动调用run方法
   }   public static void main(String[] args){       new test3();//1.从主线程开始,调用构造方法

   }@Overridepublic void run() {//3
    // TODO Auto-generated method stub
    System.out.println("线程运行了");//3-1打印线程,“运行了”}
}

JAVA – Threads und Multithreading Detaillierte grafische Erklärung

Übung 2. Der Lebenszyklus des Threads: neu, lauffähig, nicht lauffähig, tot

package pkg3;public class test3 implements Runnable{
   Thread th1;   public test3() {//2
       th1=new Thread(this);//2-1初始化了线程对象
       th1.start();//2-2启动了线程对象,自动调用run方法
   }   public static void main(String[] args){       new test3();//1.从主线程开始,调用构造方法

   }@Overridepublic void run() {//3
    // TODO Auto-generated method stub
    while(true) {
    System.out.println("线程运行了");//3-1打印线程,“运行了”
    try {
        th1.sleep(500);//强制睡眠500毫秒,进入非运行状态not runnable(睡眠、堵塞、排队)
    } catch (InterruptedException e) {        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }
}
}

JAVA – Threads und Multithreading Detaillierte grafische Erklärung

Übung 3, Multi-Threading

package pkg3;public class test3 implements Runnable{
   Thread th1,th2;   public test3() {//2
       th1=new Thread(this);//2-1初始化了线程对象
       th2=new Thread(this);
       th1.start();//2-2启动了线程对象,自动调用run方法
       th2.start();
   }   public static void main(String[] args){       new test3();//1.从主线程开始,调用构造方法

   }@Overridepublic void run() {//3
    // TODO Auto-generated method stub
    /*while(true) {
    System.out.println("线程运行了");//3-1打印线程,“运行了”
    try {
        th1.sleep(500);//强制睡眠500毫秒,进入非运行状态not runnable(睡眠、堵塞、排队)
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }*/
    Thread th=Thread.currentThread();//这个方法可以判断进入run方法的线程对象
    if(th==th1) {
        System.out.println("线程1运行了");
    }    if(th==th2) {
        System.out.println("线程2运行了");
    }
}
}

JAVA – Threads und Multithreading Detaillierte grafische Erklärung

Verwandte Empfehlungen:

Java – Multithreading

Detaillierte Erklärung von Java-Threads und dem Unterschied zwischen Threads und Prozessen

Das obige ist der detaillierte Inhalt vonJAVA – Threads und Multithreading Detaillierte grafische Erklärung. 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