20165118 第八周學習總結
阿新 • • 發佈:2018-04-22
sta 原則 第八周 使用 second mil thread類 父類 ID
第十二章:JAVA多線程機制
1. 進程與線程
- 進程是程序的一次動態執行過程。
Java的多線程機制。Java內置對多線程的支持。我們的計算機在任何給定說的時刻只能執行線程中的一個,Java虛擬機只是從一個線程迅速地切換到另一個線程。 - Java虛擬機快速地把控制從一個線程切換到另一個線程。這些線程將被輪流執行,使得每個線程都有機會使用CPU資源。
2. Thread類與線程的創建
- 在編寫Thread類的子類時,需要重寫父類的run()方法,其目的是規定線程的具體操作,否則線程就什麽也不做,因為父類的run()方法中沒有任何操作語句。
創建線程的另一個途徑就是用Thread類直接創建線程對象。使用Thread創建線程通常使用的構造方法是:
Thread(Runnable target)
3. 線程的常用方法
start();
run();
sleep(int millsecond);
isAlive();
currentThread();
interrupt();
4. 線程同步
同步機制:當一個線程使用synchronized(同步)方法時,其他方法只能等待該線程使用完方法後,再使用。
5. 協調同步進程
(1)wait()方法可以中斷方法的執行,使本線程等待,暫時讓出CPU的使用權,並允許其它線程使用這個同步方法
(2)notifyAll()方法通知所有的由於使用這個同步方法而處於等待的線程結束等待。曾中斷的線程就會從剛才的中斷處繼續執行這個同步方法,並遵循“先中斷先繼續”的原則
(3)notify()方法只是通知處於等待中的線程的某一個結束等待
6. 計時器線程
7. 守護線程
20165118 第八周學習總結