1. 程式人生 > >20165118 第八周學習總結

20165118 第八周學習總結

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 第八周學習總結