我正在創建一個項目,我們必須創建一些線程(實際的數字將由測試人員(TA's)輸入)。我不僅在編程方面遇到麻煩,而且在設計方面也遇到了麻煩,我無法將自己的頭圍繞所有將被調用的線程以及可能導致錯誤的地方。該項目即將到期,所以我不想浪費時間在這個上,如果它實際上讓我回來,但我想知道我是否應該編寫程序,如只有一個線程將運行,一切都應該是順序的,然後再回去嘗試添加代碼的線程安全部分?這需要兩倍的原始時間?併發編程:我應該先編寫一個順序程序,然後添加線程安全嗎?
項目描述: 注:我要儘可能模糊,所以我沒有違反任何榮譽守則,抱歉:(
你的程序應該接受對象A的線程數n,m個對象B線程,objectC
的數目爲r對象B線程的代碼在對象A互動 對象A的線程與對象B和objectC 對象B和objectC不直接交互代碼交互,而是通過對象A -EX這樣做間接: objectB需要objectA中的一些東西,objectA通過獲得該東西的結果調用對象C
我的困惑主要來自這樣一個事實,即所有這些交互都將由m + n個線程完成,並且在整個描述中存在各種限制,例如objectB可以從objectA請求某些東西,並且objectA必須等待objectC在返回objectB之前完成某件事情。另外每個objectA線程一次只能在objectB的一條指令上工作,等等。等等。
我只想知道我是否寫了代碼,以便只有1個objectA,1個objectB和1個對象C,可以我回去並輕鬆修改它,以便那些1可以更改爲m,n和r?
對不起,如果我的描述有點混亂。
能否介紹一下實際項目 – jozefg
n> 1個線程必須等待對方纔沒有意義(或很少)。 – ignis
@ignis,把每個對象想象成現實生活中的東西,比如objectA是一個機械師,objectB是汽車等等。 – evthim