race-condition

    0熱度

    1回答

    我試圖使用cilkscreen來檢測代碼中的某些競爭條件。 我編譯使用 g++-5 -g foo.cpp -fcilkplus -std=c++14 -lcilkrts -ldl -O2 但是我的代碼,當我啓動cilkscreen我收到以下錯誤信息: cilkview ./a.out Cilkview: Generating scalability data Cilkview Scala

    1熱度

    2回答

    我試圖創建一個動作,創建一個div並立即向上「浮動」,直到它離開屏幕。 爲了做到這一點,我試圖使用CSS transition,這將完全由JavaScript驅動(由於我的使用情況的限制)。 當我創建一個元素,爲其分配轉換樣式屬性,然後立即嘗試通過改變樣式來啓動轉換(top)時,會出現問題。 看起來像一個時間問題正在發生,其中top風格變化在轉換變爲可用之前觸發,因此只需立即將我的div移出屏幕,

    0熱度

    1回答

    我知道有與 validates_uniqueness_of :attribute RoR中 的,因爲在罕見的情況下,競爭狀態的問題,有兩個要求,一個緊隨另一個。 我讀過的解決方案是爲每個模型請求設置一個單獨的唯一索引,這會在競態條件下引發錯誤。 我不明白這是如何工作的。 如果人A提出請求,那麼人B,他們得到相同的索引?這是如何運作的?

    0熱度

    1回答

    我正在調試一個複雜的多線程程序,可能仍然存在競態條件錯誤。我目前正在通過對非確定性代碼重複運行相同的單元測試來調試它,直到它失敗。 我知道有沒有簡單的解決方案,但有一個探索性的工具,這使得該系統的調度程序(Linux)的更改搶佔點,在每次運行,增加了發現錯誤的可能性有多大?

    -1熱度

    2回答

    即使調用代碼塊已同步,競態條件也會發生。再次想到,這似乎是一個鎖定問題。請看看下面這個簡單的代碼塊(代碼將更好地解釋它) - class CriticalSectionTest { public void initWithSync() { final CriticalSection cSection = new CriticalSection(); Threa

    0熱度

    2回答

    我有一個消費者和兩個生產者。 當我同時產生兩個生產者時,他們似乎互相鎖定,因爲我們看到的第一個值分別是223和889。 有人能解釋一下這裏發生了什麼嗎? #include<vector> #include<thread> #include<iostream> #include<mutex> #include<chrono> #include <condition_variable>

    -1熱度

    1回答

    我在Java 8中有一個2語句方法。第一條語句需要相當長的時間才能執行,重要的是,不能返回一個值。第二種說法很快。我如何執行並完成第一條語句,並確保第二條語句在第一條語句完成之前不會執行?代碼片段將非常感謝。 public static Object returnMyClassFieldValue() { setMyClassField(); // long running; can't

    3熱度

    2回答

    所以這裏是代碼。 基本上,如果我們改變ReadCalculation和Calculator類來擴展Thread而不是實現Runnable,我們需要實例化這些類並將它們傳遞給一個新的線程對象,或者只需在它們上調用start()。 Calculator calc = new Calculator(); new ReadCalculation(calc).start(); new ReadCalcu

    1熱度

    1回答

    爲什麼我的最後一個線程沒有終止? 我想同時啓動所有的線程,所以我有10個線程,一旦創建就進入睡眠狀態。一旦所有線程都被創建,我就會喚醒所有的線程開始處理數據。線程完成,除了最後一個線程,線程#9。有誰知道爲什麼最後一個線程沒有終止並加入所有其他pthread? 輸出: ------------------Theatre Seating---------------- 0000 0001 000

    3熱度

    1回答

    我想了解使用Rails.cache.fetch時Rails中的race_condition_ttl指令。 我有一個控制器的動作,看起來像這樣: def foo @foo = Rails.cache.fetch("foo-testing", expires_in: 30.seconds, race_condition_ttl: 60.seconds) do Time.now.t