有兩個并發執行的行程,程式如下,能夠正常執行嗎?若不能,為什么?
uj5u.com熱心網友回復:
求救,各位大神就小的一命吧uj5u.com熱心網友回復:
x是臨界資源,每個行程都加個鎖保護uj5u.com熱心網友回復:
我最頭疼的就是多執行緒,但是,根據常識,一個變數兩個行程同時使用,你搞一下我搞一下,肯定亂套吧,我覺得這肯定是個問題。
uj5u.com熱心網友回復:
1、并發執行的行程,可以同時執行,沒毛病啊2、并發執行的執行緒,也可以同時執行,就是x可能會亂
uj5u.com熱心網友回復:
首先問題是能否正確執行,顯示是不可能正確執行的(在并行執行的情況下)。改正的話就是執行緒臨界資源,加鎖等方式。
uj5u.com熱心網友回復:
就是樓上幾位說的,x有問題,不能獲得可靠的結果uj5u.com熱心網友回復:
答案明顯是不能。因為同時使用到了公共變數X,(在排隊系統例外報錯的情況下)如執行時對公共變數X進了加鎖,則當P1對X進行操作時,P2不能對X進行操作。如果執行時沒有對X進行加鎖,則P1,P2對X的賦值會相互影響。解決辦法是將X改為內部的區域變數,或增加一個X1讓P2使用。當然了,這么久沒結貼,估計回答了也沒用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/8210.html
標籤:語言基礎/算法/系統設計
上一篇:微信支付
下一篇:BOM管理及物料需求計算工具
