學習筆記——多執行緒(持續更新中)
阿新 • • 發佈:2018-12-16
1、程序與執行緒的區別:程序是所有執行緒的集合,每一個執行緒是程序中的執行路徑。
根據我的理解,其實程序就可以看成是公共廁所,執行緒看做是廁所裡的隔斷間,一個廁所可以有很多個隔斷間,也可以有一個隔斷間。當人們上廁所的時候,如果廁所只有一個隔斷間上廁所的只有一個人,那麼效率是沒問題的,但是如果人多了還只有一個隔斷間的話那麼就得排隊,效率也就顯得不好了,提高公共廁所的使用率就是增加廁所的隔斷間數,也就是多程序。所以為什麼使用多執行緒也就顯而易見了,使用多執行緒可以提高程式的使用效率。
2、多執行緒的建立方式(三種)
①繼承Thread類,重寫run方法。
class CreateThread extends Thread { // run方法中編寫 多執行緒需要執行的程式碼 publicvoid run() { for (inti = 0; i< 10; i++) { System.out.println("i:" + i); } } } publicclass ThreadDemo { publicstaticvoid main(String[] args) { System.out.println("-----多執行緒建立開始-----"); // 1.建立一個執行緒 CreateThread createThread = new CreateThread(); // 2.開始執行執行緒 注意 開啟執行緒不是呼叫run方法,而是start方法 System.out.println("-----多執行緒建立啟動-----"); createThread.start(); System.out.println("-----多執行緒建立結束-----"); } }
②實現Runnable介面,重寫run方法。
class CreateRunnable implements Runnable { @Override publicvoid run() { for (inti = 0; i< 10; i++) { System.out.println("i:" + i); } } } publicclass ThreadDemo { publicstaticvoid main(String[] args) { System.out.println("-----多執行緒建立開始-----"); // 1.建立一個執行緒 CreateRunnable createThread = new CreateRunnable(); // 2.開始執行執行緒 注意 開啟執行緒不是呼叫run方法,而是start方法 System.out.println("-----多執行緒建立啟動-----"); Thread thread = new Thread(createThread); thread.start(); System.out.println("-----多執行緒建立結束-----"); } }
③使用匿名內部類建立多執行緒。
System.out.println("-----多執行緒建立開始-----");
Thread thread = new Thread(new Runnable() {
public void run() {
for (int i = 0; i< 10; i++) {
System.out.println("i:" + i);
}
}
});
thread.start();
System.out.println("-----多執行緒建立結束-----");
常用執行緒api方法 |
|
start() |
啟動執行緒 |
currentThread() |
獲取當前執行緒物件 |
getID() |
獲取當前執行緒ID Thread-編號 該編號從0開始 |
getName() |
獲取當前執行緒名稱 |
sleep(long mill) |
休眠執行緒 |
Stop() |
停止執行緒, |
常用執行緒建構函式 |
|
Thread() |
分配一個新的 Thread 物件 |
Thread(String name) |
分配一個新的 Thread物件,具有指定的 name正如其名。 |
Thread(Runable r) |
分配一個新的 Thread物件 |
Thread(Runable r, String name) |
分配一個新的 Thread物件 |
--------------------------------------------------------------------分割線,未完待續-----------------------------------------------------