【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打印线程,“运行了”} }
Ü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(); } } } }
Ü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运行了"); } } }
Verwandte Empfehlungen:
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!