2016-08-17 62 views
0

如果我想測試Phoenix中的競爭條件(例如,在同時插入兩條記錄而不產生衝突的序列生成的情況下),處理此問題的最佳方法是什麼?在菲尼克斯測試競賽條件

我如何確保碰撞?

回答

0

你是一個懲罰的饞嘴,我的朋友。

不幸的是,沒有工具來重現Erlang的競爭條件,更不用說大多數語言了。您通常會得到最接近的檢測軟件,如Helgrind for C/C++Chess for C#/C++

按照this advice from the Programming StackExchange site

有觸發在測試中的競爭條件沒有很好的通用方法。

你唯一的希望就是將它們完全設計出你的系統。

如果你發現別人塞了一個,你應該把他掐死,然後重新設計來消除它。當你的 已經在你的系統中設計了他的失言(發音爲f ***)之後,你可以從螞蟻身上釋放他。 (如果螞蟻已經消耗 他,只剩下骨頭,提出了一個牌子,上面寫着:「這是發生了什麼誰把比賽條件爲XYZ項目 人!」然後把他留 那裏。)

+0

所以這不切實際,甚至期望像一堆'Task.async'這樣的東西旋轉,並希望有一些衝突? –

+0

是的。你最好搞清楚如何設計你的系統,以防止這些情況發生。 – fny