模擬生產(chǎn)零件系統(tǒng)程序
要求:機(jī)器生產(chǎn)零件,工人取走零件,機(jī)器先生產(chǎn)一個(gè)1號(hào)零件,工人取走一個(gè)1號(hào)零件,機(jī)器再生產(chǎn)一個(gè)2號(hào)零件,工人再取走,然后機(jī)器生產(chǎn)一個(gè)1號(hào)零件,工人取走,機(jī)器再生產(chǎn)一個(gè)2號(hào)零件,工人取走,就這樣依次交替。在機(jī)器生產(chǎn)零件的時(shí)候,工人禁止取零件;在工人取零件的時(shí)候,機(jī)器禁止生產(chǎn)零件。
生產(chǎn)狀態(tài)圖如下:
程序代碼如下:




























































































































此程序的輸出結(jié)果如圖:
這個(gè)程序涉及到并發(fā)多線程,多個(gè)線程共享一個(gè)資源,如果每個(gè)線程在同一時(shí)間同時(shí)修改這個(gè)資源那么勢(shì)必會(huì)造成資源信息的不正確,為了防止這種情況發(fā)生,我們?cè)诖顺绦蛑卸x了兩個(gè)同步方法來給這個(gè)資源加上一把鎖,在一個(gè)時(shí)間點(diǎn)上只能有一個(gè)線程使用這個(gè)資源,其他線程等待。
posted on 2010-11-09 11:51 馮魁 閱讀(220) 評(píng)論(0) 編輯 收藏