20165320 第八週學習總結

主要內容

線程與進程

線程不是進程,但其行爲很像進程,線程是比進程更小的執行單位,一個進程在其執行過程當中,能夠產生多個線程,造成多條執行線索。java

Java的多線程機制

1.多線程指的是一個應用程序同時存在幾個執行體,按幾條不一樣的執行線索共同工做的狀況。多線程

2.主線程:main線程線程

3.線程的狀態與生命週期rest

新建——運行——中斷(四種緣由)——死亡

4.線程調度與優先級code

優先級能夠經過setPriority(int grade)方法來調整

Thread類與線程的建立

1.使用Thread類直接建立線程對象,構造方法爲:對象

Thread(Runnable target)

2.目標對象與線程的關係blog

·目標對象與線程徹底解耦
String name = Thread.currenThread().getName();
·目標對象組合線程(弱耦合)
Thread.currentThread();

3.關於run方法的啓動次數生命週期

run方法有可能被中斷
waterAmount = waterAmount-m;

線程的經常使用方法

1.start():啓動線程進程

2.run():線程被調用以後的執行操做資源

3.sleep(int millsecond):放棄CPU資源

4.isAlive():返回狀態

5.currentThread():返回使用的CPU資源

6.interrupt():吵醒休眠的線程

線程同步

機制:當一個線程使用synchronized方法時,其它線程想使用的時候必須等待。

協調同步的線程

運用wait()方法中斷線程的執行,使本線程等待,暫時讓出CPU的使用權。

線程聯合

一個線程A在佔有CPU的期間,能夠讓其它線程調用join()和本線程聯合。

B.join();
A在運行期間聯合了B。

計時器線程與守護線程

java提供了一個很方便的Timer類,該類在javax.swing包中。

計時器建立後,使用Timer類的方法start()啓動計時器,使用stop()中止計時器,使用restart()從新啓動計時器。

調用void setDaemon(boolean on)方法能夠將本身設置成一個守護線程

thread.setDaemon(true);

腳本運行截圖

相關文章
相關標籤/搜索