學習分享 執行緒同步

2021-09-22 12:27:42 字數 851 閱讀 4508

1.使用同步**塊

public

void

run(

)else}}

}

必須保證鎖的唯一性

2.使用同步方法

//使用同步方法實現執行緒的同步

public

synchronized

void

synchronizedmethod()

}

思考:鎖是啥?

a.這是乙個成員方法:鎖是this

b.這是乙個靜態方法:鎖是這個類的class物件

執行緒的通訊

wait

notifyall

//把需要同乙個執行緒一次執行完的**放入同步**塊中

sysnchronized

(object.

class

)else

//等待,呼叫鎖的wait方法

trycatch

(exception e)

}

執行緒的死鎖:兩個鎖的位置內外交換,兩個執行緒都不能繼續執行。

public

void

run()}

else}}

}@override

public

void

run()}

else}}

}

sleep 和wait的區別

1.sleep不會釋放鎖,wait會釋放鎖

2.sleep是thread的方法

3.wait是object的方法

學習分享 執行緒

程式 一段靜態的 的組合。程序 程式的一次執行 執行緒 執行緒就是輕量級進行 執行緒和執行緒之間採用搶占硬體資源的方式。執行緒的5種狀態 建立,就緒,執行,阻塞,結束 在建立執行緒中,有兩種方式可以建立。第一種就是 繼承thread類。自己寫乙個執行緒類,繼承thread類,new執行緒類的物件,呼...

多執行緒學習 執行緒同步 四

問題 子執行緒迴圈10次,回到主線程執行100次,接著又回到子執行緒執行10次,再回到主線程執行100次,如此迴圈50次,該如何實現?public class threadcommunicationstudy start for int i 1 i 50 i 資源類 class bussiness ...

學習記錄分享(多執行緒)

1.乙個單cpu的機器,如何同時執行多個執行緒?請簡述其原理 單cpu在任何時間點上,只能執行乙個執行緒,實現同時執行多個執行緒是通過序列,在不同的執行緒之間通過cpu時間片控制切換執行不同的執行緒。2.執行緒的建立 有以下 c 只有主方法乙個執行緒,沒有建立新的執行緒類 3.執行緒的建立 有以下 ...