為什么運行成這樣,就不向下運行了
線程問題,為什么沒有運行下去,鎖的問題???
翻翻過去那場雪
2018-07-15 11:16:18
TA貢獻1886條經(jīng)驗 獲得超2個贊
多個線程存在競態(tài)條件下,當?shù)谝粋€線程運行了"生產(chǎn)者",隨后你用flag來標識,但是并不是按照你想的那種順序來去消費的,造成flag=false,進不去"消費者",然而下一個循環(huán)運行時發(fā)現(xiàn)flag=false,就會調(diào)用.wait()方法,在當前調(diào)用中是不會主動再去調(diào).notify()方法的,導(dǎo)致你這"生產(chǎn)者"也只能調(diào)用一次后面就繼續(xù)等待了,這樣就產(chǎn)生這出現(xiàn)一個"生產(chǎn)了"的結(jié)果...
TA貢獻1777條經(jīng)驗 獲得超3個贊
mian 方法啟動使用的是同一個move對象. 及兩個線程使用的是同一個鎖。
每次只會有一個線程在執(zhí)行方法.
所以按照截圖代碼應(yīng)該不會存在樓主描述的問題才對。。
舉報