race-condition

    2熱度

    5回答

    假設我有一個方法名爲doSomething(),我想在多線程應用程序中使用此方法(每個servlet都繼承自HttpServlet)。我想知道是否有可能競態條件會發生以下情況: doSomething()是不staic方法,它的數據庫寫入值。 doSomething()是靜態方法,但它不會將值寫入數據庫。 我注意到我的應用程序中的很多方法可能導致競爭條件或髒讀/寫。例如,我有一個投票系統,並且對於

    2熱度

    1回答

    我在某些存儲庫模式中有以下pseduo代碼項目使用EF4。 public void Delete(int someId) { // 1. Load the entity for that Id. If there is none, then null. // 2. If entity != null, then DeleteObject(..); } 很簡單,但我得到一

    0熱度

    2回答

    我對休眠比較新,所以請溫和。我遇到了長時間運行的方法(〜2分鐘長)以及更改存儲在數據庫中的對象上狀態字段值的問題。下面的僞代碼應該有助於解釋我的問題。 public foo(thing) { if (thing.getStatus() == "ready") { thing.setStatus("finished"); doSomethingAndTakeALon

    2熱度

    1回答

    我有一個簡單的生產者/消費者場景,其中只有一件產品正在生產/消費。此外,生產者在繼續之前等待工作線程完成。我知道那種避免了多線程的整點,但請你只認爲它真正需要的是這樣的(: 此代碼不能編譯,但我希望你的想法: // m_data is initially null // This could be called by any number of producer threads simulta

    4熱度

    1回答

    我看TPL異常處理例如從MSDN @ http://msdn.microsoft.com/en-us/library/dd537614(v=VS.100).aspx 代碼的基本形式是: Task task1 = Task.Factory.StartNew(() => { throw new IndexOutOfRangeException(); }); try { task1.Wai

    0熱度

    3回答

    我有以下問題: 我們的系統有產品,只有在發佈時才允許購買X次。購買後,中央採購算法將檢查訂單數量是否存在,以及低於X是否購買。 在pseudoish C#代碼: public class OrderMethods { public static Purchase(Product product, Client client) { int purchases =

    -1熱度

    4回答

    我正在創建一個圖形計算器。 爲了試圖從中獲得更多的性能,我在線計算器中添加了一些多線程。本質上,我目前的實現是構造X值的線程安全的Queue,然後啓動它所需的多個線程,每個線程使用隊列計算線上的點以獲取其值,然後使用HashMap排序點計算完成。這個實現很好,這不是我的競爭條件(僅僅是一些背景信息)的地方。 在檢查性能結果時,我發現HashMap是一個性能瓶頸,因爲我在一個線程上同步執行。所以我認

    2熱度

    3回答

    我做了一些關於這個主題的搜索,但沒有發現任何有價值的東西。 如果我不使用PHP默認會話處理程序,則在請求級別沒有會話鎖定。所以,我必須自己保護關鍵部分。 在Java中,我們有同步。在C#中,我們有鎖。 在PHP中,該怎麼做?

    2熱度

    2回答

    我使用JPoller來檢測特定目錄中文件的更改,而是因爲他們結束了一個時間戳早於他們的實際創建它的文件丟失時間。以下是我測試: public static void main(String [] files) { for (String file : files) { File f = new File(file); if (f.exists())

    5熱度

    2回答

    考慮這種情況: BEGIN TRANSACTION 插入20個記錄到一個表的AUTO_INCREMENT鍵 獲得第一個插入ID(讓我們說這是153) 更新的所有記錄在該表其中id >= 153 提交 第4步安全嗎? 也就是說,如果另一個請求幾乎同時進入,並且在步驟2之後插入另外20個記錄,但在步驟4之前,會出現競爭狀態嗎?