首先notify, wait的經典場景是生產者,消費者模型
importorg.slf4j.logger;/*** created by wcl on 17/9/17.
*/public classconsumerimplementsrunnable
public voidrun() 消費-1,當前數量={}",name,container.count);
}elsewait before",name);
container.wait();
logger.info("消費者{} wait after",name);
}catch(interruptedexception e)
}}//sync
trycatch(interruptedexception e) }}
}
/*** created by wcl on 17/9/17.
*/public classcontainer
}
importorg.slf4j.logger;/*** created by wcl on 17/9/17.
*/public classproducerimplementsrunnable
public voidrun() 生產+1,當前數量={}",name,container.count);
}elsewait before",name);
container.wait();
logger.info("生產者{} wait after",name);
}catch(interruptedexception e) }}
trycatch(interruptedexception e) }}
}
/*** created by wcl on 17/9/17.
*/public classtestproducerconsumer
}
關於notify,wait有幾點需要注意
1. wait()和notify()一系列的方法,是屬於物件的,不屬於執行緒。
2.wait()會讓出物件鎖,同時,當前執行緒休眠,等待被喚醒,如果不被喚醒,就一直等在那兒。
notify()並不會讓當前執行緒休眠,但會喚醒休眠的執行緒。
3. wait() 後執行緒掛起,會釋放鎖,但是sleep則不會釋放鎖
關於程式關於世界
首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...
關於血液關於軟體
1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...
關於冷漠,關於愛情
我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...