Java - 執行緒基礎
一、建立執行緒
編寫執行緒執行時執行的程式碼有兩種方式:一種是建立Thread子類的一個例項並重寫run方法,第二種是建立類的時候實現Runnable介面。
1、建立Thread的子類
建立Thread子類的一個例項並重寫run方法,run方法會在呼叫start()方法之後被執行。例子如下:
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("extends thread!");
}
}
可以用如下方式建立並執行上述Thread子類:
new MyThread().start();
補充:也可以如下建立一個Thread的匿名子類並執行它:
new Thread(){
public void run(){
System.out.println("anonymous extends thread!");
}
}.start();
2、實現Runnable介面
新建一個實現了java.lang.Runnable介面的類的例項,例項中的方法可以被執行緒呼叫。例子如下:
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("implements runnable!");
}
}
要使執行緒執行run()方法,需要在Thread類的建構函式中傳入MyRunnable的例項物件。示例如下:new Thread(new MyRunnable()).start();
補充:也可以一個實現了Runnable介面的匿名類並執行它:
new Thread(
new Runnable() {
@Override
public void run() {
System.out.println("anonymous implement runnable!");
}
}
).start();
二、一些問題
1、關於執行緒的執行
一旦執行緒啟動後start方法就會立即返回,而不會等待到run方法執行完畢才返回。
2、呼叫run()方法和start()方法的區別:
當建立一個執行緒並呼叫執行緒的run()方法時,如下所示:
new MyThread().run(); //new MyThread().start();
用上面的方式呼叫的run()方法並非是由剛建立的新執行緒所執行的,而是被建立新執行緒的當前執行緒所執行的。想要讓建立的新的執行緒執行run()方法,必須呼叫新執行緒的start方法即被註釋的方式。
3、執行緒的名稱
當建立一個執行緒的時候,可以給執行緒起一個名字。示例如下:
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable, "My First Thread");
thread.start();
System.out.println(thread.getName());
在Runnable的實現類中,如果要獲取執行緒名可以通過如下方式取得當前執行緒的引用:
Thread.currentThread();
相關文章
- Java 執行緒基礎Java執行緒
- java基礎:執行緒Java執行緒
- Java執行緒池一:執行緒基礎Java執行緒
- java - 多執行緒基礎Java執行緒
- 【Java基礎】:執行緒控制Java執行緒
- Java—多執行緒基礎Java執行緒
- java基礎:執行緒同步Java執行緒
- Java 多執行緒基礎(四)執行緒安全Java執行緒
- Java 多執行緒基礎(八)執行緒讓步Java執行緒
- Java 基礎(十四)執行緒——下Java執行緒
- Java基礎之執行緒安全Java執行緒
- Java 多執行緒基礎 - CyclicBarrierJava執行緒
- Java多執行緒-基礎篇Java執行緒
- Java 基礎(十三)執行緒——上Java執行緒
- [Java基礎]虛擬執行緒Java執行緒
- java執行緒程式設計(一):執行緒基礎(轉)Java執行緒程式設計
- java基礎 關於執行緒安全Java執行緒
- 【JAVA】【面試】【基礎篇】- 執行緒、鎖Java面試執行緒
- Java基礎之執行緒那些事Java執行緒
- Java-基礎-執行緒入門Java執行緒
- JAVA_基礎多執行緒(一)Java執行緒
- JAVA多執行緒-基礎篇-synchronizedJava執行緒synchronized
- Java 多執行緒基礎(六)執行緒等待與喚醒Java執行緒
- 執行緒基礎執行緒
- 玩轉java多執行緒 之多執行緒基礎 執行緒狀態 及執行緒停止實戰Java執行緒
- Java 多執行緒基礎(十一)執行緒優先順序和守護執行緒Java執行緒
- java基礎-多執行緒初步瞭解Java執行緒
- Java併發基礎(2)------執行緒池Java執行緒
- Java基礎之多執行緒程式設計Java執行緒程式設計
- JAVA多執行緒和併發基礎Java執行緒
- Java多執行緒程式設計基礎Java執行緒程式設計
- 【Java基礎】:執行緒的生命週期Java執行緒
- Java多執行緒-基礎及實現Java執行緒
- 程式執行緒篇——程式執行緒基礎執行緒
- 多執行緒基礎執行緒
- 最全java多執行緒學習總結1--執行緒基礎Java執行緒
- 多執行緒系列(1),多執行緒基礎執行緒
- 多執行緒系列(三):執行緒池基礎執行緒