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.執行緒的建立 有以下 ...