Java實現多執行緒詳解一 ( 繼承Thread方式 )
之前有簡單的介紹過多執行緒的幾種實現方式,那麼我們現在開始寫幾篇文章詳細去介紹一下多執行緒的實現方式和一些原理,今天先來介紹一下我們學習多執行緒的第一種方式,我們使用繼承Thread類來實現!
話不多說,直接上程式碼!
繼承Thread類基礎程式碼
// 首先我們建立一個類來繼承Thread類
public class MyThread extends Thread{
// 然後我們需要重寫run方法(非常重要,run方法的方法體中是我們真正執行的程式碼)
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
class MyThreadTest {
public static void main(String[] args) {
// 建立MyThread物件,呼叫start()方法,這裡要知道start方法的作用!
// start方法的作用有兩個! 第一個是啟動該執行緒,第二個是呼叫run()方法
MyThread myThread = new MyThread();
myThread.start();
}
}
上面的程式碼中我們其實已經說明了使用Thread類實現多執行緒的步驟
步驟解釋:
①:繼承Thread類
②:重寫run方法
③:建立繼承Thread類的例項物件
④:呼叫該物件的start方法
// start方法和run方法都繼承於Thread類
設定多執行緒名字及多個執行緒執行
那麼我們現在來實現一下多個執行緒執行的程式碼!
這之前我們先學習兩個基礎的方法
首先我們需要給執行緒修改一下執行緒名,方便我們區分是否使用了多執行緒
getName和setName使用方式:
MyThread myThread = new MyThread();
myThread.getName();
myThread.setName("執行緒1");
這裡還有一個小技巧是獲取當前執行緒的方法,我們使用Thread.currentThread() 因為這是被static修飾的靜態方法,所以我們可以直接使用Thread類去呼叫
那麼我們先來真正去執行多個執行緒
public class MyThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + "" + i);
}
}
}
class MyThreadTest {
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.setName("執行緒1-");
myThread.start();
MyThread myThread1 = new MyThread();
myThread1.setName("執行緒2-");
myThread1.start();
}
}
這邊我們還是和上面的基本一致,只不過發現我們建立了兩個MyThread物件,因為如果我們使用同一個MyThread物件去呼叫start方法的話,則會報出IllegalThreadStateException異常,大致意思就是不能在一個Thread中多次呼叫start方法,所以我們需要建立兩個物件去呼叫,我們也給兩個物件設定了不同的名字,我們來看一下結果:
那到這裡就結束了,我們下次學習第二種實現方式,實現Runnable介面的實現方式
如有錯誤歡迎指出,感謝觀看
相關文章
- Java之實現多執行緒的方式一 :繼承Thread類Java執行緒繼承thread
- 132.繼承Thread實現多執行緒繼承thread執行緒
- 多執行緒-繼承Thread類的方式賣電影票案例執行緒繼承thread
- 多執行緒:繼承方式和實現方式的聯絡與區別執行緒繼承
- java. 中 繼承Thread類建立執行緒.Java繼承thread執行緒
- JAVA多執行緒Thread VS Runnable詳解Java執行緒thread
- python多執行緒之從Thread類繼承Python執行緒thread繼承
- Java多執行緒實現方式Java執行緒
- Java 多執行緒詳解(一)Java執行緒
- JAVA多執行緒詳解(一)Java執行緒
- 詳解JAVA多執行緒(一)Java執行緒
- C#多執行緒詳解(一) Thread.Join()的詳解C#執行緒thread
- Java多執行緒詳解Java執行緒
- Java多執行緒詳解——一篇文章搞懂Java多執行緒Java執行緒
- Java實現多執行緒的三種方式Java執行緒
- java執行緒實現方式Java執行緒
- Java高併發與多執行緒(二)-----執行緒的實現方式Java執行緒
- Java多執行緒超詳解Java執行緒
- Java建立多執行緒的幾種方式實現Java執行緒
- java 多執行緒(關於Thread的講解)Java執行緒thread
- Java多執行緒(二):Thread類Java執行緒thread
- java多執行緒之Thread類Java執行緒thread
- Java多執行緒Thread類使用Java執行緒thread
- JavaScript 繼承方式詳解JavaScript繼承
- PHP多執行緒的實現方法詳解PHP執行緒
- 面試-實現多執行緒的方式面試執行緒
- Java之實現多執行緒的方式二:實現Runnable介面Java執行緒
- Java多執行緒之—Synchronized方式和CAS方式實現執行緒安全效能對比Java執行緒synchronized
- java多執行緒:java佇列詳解Java執行緒佇列
- Java多執行緒詳解總結Java執行緒
- Java多執行緒之synchronized詳解Java執行緒synchronized
- Java中的多執行緒詳解Java執行緒
- JAVA多執行緒詳解(3)執行緒同步和鎖Java執行緒
- java多執行緒與併發 - 執行緒池詳解Java執行緒
- Java 繼承詳解Java繼承
- Java多執行緒的實現Java執行緒
- 多執行緒-匿名內部類的方式實現多執行緒程式執行緒
- Java多種方法實現等待所有子執行緒完成再繼續執行Java執行緒