對執行緒的總結

2021-08-03 16:48:36 字數 1090 閱讀 6955

一、建立執行緒

重點1、繼承

thread

2、實現

runnable 

知識點:其中用到了設計模式中的**模式,

**角色:

持有真實角色的引用。引申到aop,就是用的動態**

3、實現

callable (了解)

二、執行緒的狀態

1、新生 -->start -->就緒

-->

執行-->

阻塞-->

終止2、終止執行緒 (重點

3、阻塞

: join 用法:引用.join();//把引用執行緒合併到當前執行緒,並且先執行引用執行緒

yield用法:thread.yield();//把當前執行緒騰出來,讓其他執行緒先執行,

不釋放鎖

sleep用法:thread.sleep();//等待,不釋放鎖

wait() :this.wait();等待,釋放鎖

setname():設定名稱

getname():獲取名稱

isalive():判斷狀態

setpriority();設定優先順序

this.notify(); //喚醒在當前物件等待池中等待的第乙個執行緒。不釋放鎖的才能喚起

notifyall

叫醒所有在當前物件等待池中等待的所有執行緒。不釋放鎖的才能喚起

三、執行緒的資訊

1、thread.currentthread

2、獲取名稱 設定名稱

設定優先順序

判斷狀態

四、同步:對同乙份資源

synchronized(引用型別變數

|this|

類.class)

修飾符 synchronized方法的簽名

過多的同步可能造成死鎖

五、生產者消費者模式

六、任務排程

timer timer =new timer();

schedule(timertask task, date firsttime, long period)

第乙個引數,任務

第二個引數,第一次執行的開始時間

第三個引數,下次執行和上次執行的時間間隔

執行緒 對執行緒的控制

使用thread建立執行緒後,我們需要對執行緒進行 控制 1.使用start 方法,使執行緒處於running狀態,執行緒開始執行 2.使用join 方法,使執行緒進入waitsleepjoin狀態。3.使用sleep 方法,也會使執行緒進入waitsleepjoin狀態。經歷了sleep 方法定義...

電纜對線總結

工程中,經常需要鋪設電纜,比如8芯電纜,有的時候,8芯顏色都是一樣的,那麼怎麼知道電纜兩頭,哪兩頭是同一根呢?方法1 有的電纜各芯上都是有序號標記的,直接看序號 方法2 使用萬用表的歐姆檔測量通斷。1 一般電纜都是有遮蔽線的,我們使用遮蔽線作為公共線,電纜一頭a將某一芯與遮蔽線短接 電纜另一頭b,使...

對執行緒安全的理解

方法中的變數不存在非執行緒安全問題,永遠都是執行緒安全的,這是因為方法內部的變數是私有的特性造成的。synchronized鎖加在方法上,鎖的是物件。效果同synchronized this synchronized加在靜態方法上,鎖的是類。效果同synchronized class.class 多...