race-condition

    -1熱度

    1回答

    我可以在下面的示例代碼中看到兩個主要問題,但我不知道如何正確解決它們。 如果超時處理程序未通過errCh獲取下一個處理程序已完成或發生錯誤的信號,它將回復請求的「408請求超時」。 這裏的問題是ResponseWriter不安全,可能被多個goroutine使用。超時處理程序在執行下一個處理程序時啓動一個新的goroutine。 問題: 如何防止下一個處理從編寫到ResponseWriter當CT

    0熱度

    2回答

    我使用SQLite的last_insert_rowid()來獲取批量插入後最後插入的行ID。是否有任何競爭條件的風險可能導致此值不返回批次插入的最後一個ID?例如,是否有可能在完成插入和調用last_insert_rowid()之間的某個其他進程可能再次寫入表中?

    1熱度

    1回答

    我試圖測試競爭條件的代碼部分。我遇到的問題與唯一性驗證有關,事實證明,這種驗證在鐵軌中的競爭條件下是不安全的。我相信我可以解決這個問題,但我不知道如何測試我的解決方案。 我來最接近的是以下(靈感:http://blog.arkency.com/2015/09/testing-race-conditions/): test "Can't create duplicate keys with same

    0熱度

    1回答

    我正在開發一個C#類,其中我分配了一個數組緩衝區,並且每次事件觸發時,我都會填充數組中的下一個元素。因此,例如: class MyClass { private int[] buffer = new int[10]; private int index = 0; public void EventFired(object sender, IntEventArgs

    0熱度

    1回答

    我有一個關於婚姻操作的項目。在這個程序中,一個稱爲註冊服務器的線程使用結婚功能。在這次婚姻行動中,我們有新娘和新郎。婚姻功能確實減少了新娘數量和新郎的數量。但是我想要減少這些數量時遇到問題。 MAIN.C #include<pthread.h> #include<stdlib.h> #include<stdio.h> #include<semaphore.h> #include "brid

    0熱度

    1回答

    我有兩個線程: 線程A插入到std::map 線程B從std::map 消除由於std::map::erase和std::map::insert保持地圖有效的所有迭代器,我似乎無法理解在這種情況下可能發生的競爭狀況。

    0熱度

    1回答

    我寫了一個Python腳本,它使用GCC和dockross在Windows和Linux上構建一個 應用程序。因爲我想加快構建代碼的時間,所以我使用線程模塊來實現所有四個構建過程(Linux和Windows,32和64位)。 但我發現兩個GCC構建對象(對於Linux 32位和64位)處於競爭狀態。如果我想同時做兩個建築物,會發生一些錯誤,並且在dockcross建築過程中也會發生同樣的情況。 兩個

    0熱度

    2回答

    我有一個Laravel 5.2後端和Angular 1前端應用程序。他們使用REST API進行通信。有一段代碼可以在每次頁面加載時更新一些數據庫數據(應用程序是一種瀏覽器遊戲,所以在這種情況下,玩家的資源和單位正在更新/生成),但我遇到了一些問題。 在某些情況下,前端會同時請求多個API端點。如果自上次請求後生產出新單元,Entity應爲attached()至Player模型(多對多關係)。實際

    3熱度

    2回答

    這可能是我在這裏問過的最複雜的問題。我花了一些時間讓我的代碼變得最簡單,我想我可以重現我的問題。我希望這不是太複雜,以獲得任何幫助... 基本上在下面的代碼中,創建一個tkinter應用程序與一個單一的按鈕,它每隔100ms檢查一個隊列,因爲一個不同的線程可能需要與它進行交互後來。一個新的窗口也很快創建和銷燬,因爲我得到一個錯誤後,否則(這可能很重要) 當按鈕被點擊時,一個新的線程,通知主線程(通

    0熱度

    2回答

    單元測試考慮代碼: class TestClass { private bool _someFlag; private object _sharedObject = new object(); private readonly object _syncObject = new object(); public object Read() {