race-condition

    0熱度

    1回答

    我已經表明了以下兩項測試: public void testOnClickCheckboxStartActionMode() { int index = 4; this.solo.clickOnCheckBox(index); Assert.assertTrue(this.solo.waitForView(R.id.delete_menu)); } public

    -1熱度

    1回答

    我想測試一個大型複雜(超過130M LOC)的服務器應用程序的競賽條件。該應用程序使用C和C++編寫,並在64位Linux上運行。我做了一些研究並提出了一些動態工具(例如,Intel檢查員,Tsan,Helgrind & DRD)和一些靜態工具(例如RELAY,RacerX)。 動態工具應該更準確(誤報率更低),並且可以處理自定義同步機制,但是會施加顯着的運行時間開銷,從而觸發應用程序的超時。靜態

    1熱度

    1回答

    如何處理被調度爲每分鐘運行腳本的實例之間的「競爭條件」,在目錄中的所有文件執行以下任務: 連接到SQL數據庫在表來檢查最後一個元素(文件名) 創建多個文件(多個文件夾)下一個可用的文件名 插入到SQL的新紀錄,文件名和創建的文件信息 因爲進程每隔1分鐘運行一次,所以有可能有2個實例重疊並在同一個文件上工作。我可以防止通過文件鎖定並跳過已打開的文件,但這個問題與堅持: 在數據庫中檢查下一個可用的文件

    0熱度

    1回答

    我與時下follwoing試驗: global func_ func_: push rbp mov rbp, rsp mov rax,[rdi] mov rbx,[rsi] cmp rbx,1 je done dec rbx mov rsi,1 loop1: shl rsi, 1 dec

    2熱度

    1回答

    在使用三個節點測試Core Os羣集時,在成功添加和刪除少量附加節點之後,我遇到了以下問題,據推測,這是由於etcd選舉過程中的爭用情況造成的。 檢查新領導人給出: $ curl -L http://127.0.0.1:4001/v2/stats/leader {"errorCode":300,"message":"Raft Internal Error","index":629006} J

    0熱度

    2回答

    假設我有以下結構的表: CREATE TABLE test( id SERIAL, type VARCHAR(10), sub_id INTEGER, UNIQUE (type, sub_id) ) ,我希望「sub_id」欄目是一個特定的「類型」中的計數器。例如: id | type | sub_id --------------------- 1

    0熱度

    2回答

    我目前的問題是有兩個QT線程。其中之一發出一個信號在第二個線程中開始一個操作,然後等待結果。一旦第二個線程完成,第一個線程應該繼續使用第二個線程的結果進行自己的操作。 爲了讓第一個線程睡眠,我使用QMutex和QWaitCondition。第一個線程發出信號,然後在等待狀態下休眠。但現在的問題是:如果第二個線程設法比第一個線程更快,並且在第一個線程進入等待條件之前發出wakeAll() - 調用,

    0熱度

    1回答

    是否可以插入或更新集合中的項目只有滿足條件時纔會出現競爭條件? 例如,假設我收集了一個timestamp字段和一個temperature字段。只有在時間戳至少一個小時之後才能更新特定項目?我知道我可以(第1步)用一次調用檢查時間戳,然後(第2步)進行一些數學計算,看看時間戳是否超過一小時,然後(第3步)更新集合中的項目,如果是這樣的話。 但是,如果另一個客戶端在此客戶端運行第2步時更新客戶端,則會

    3熱度

    1回答

    也許這聽起來像是一個簡單的問題,但是在數據庫中增加計數器的正確方法是什麼? 例如,如果我有一個包含「like_count」列的表格,每次用戶喜歡照片時都會更新。 (假設我有我的照片@Entity) Photo photo = photoRepository.findByPhotoId(id) photo.setLikeCount(photo.getLikeCount()+1); photoRe

    0熱度

    2回答

    這裏有一個簡單的循環,我跑: for (var key in TestApp.config.services) { if (TestApp.config.services[key].files != "") { var files = TestApp.config.services[key].files.split(','); for (var i = 0; i <=