concurrency

    1熱度

    1回答

    在我嘗試向我的Worker [線程]類添加暫停/恢復功能時,發生了一個我無法解釋的問題。 (C++ 1y/VS2015) 這個問題看起來像是一個死鎖,但是我似乎無法在一個調試器被連接並且在某個點之前設置斷點時重現它(見#1) - 因此它看起來像這是一個計時問題。 我能找到的修復(#2)對我來說並沒有多大意義,因爲它需要更長時間保持互斥體,並且客戶機代碼可能會嘗試獲取其他互斥體,而我知道其中的其他互

    1熱度

    1回答

    我有以下代碼: ConcurrentHashMap taskMap= new ConcurrentHashMap(); .... taskMap.compute(key, (k, queue) -> { CompletableFuture<Void> future = (queue == null) ? CompletableFuture.runAsync(myTa

    0熱度

    1回答

    我在採訪中被告知,在運行下面的代碼之後計數器的最小值是2.這怎麼可能? class ThreadsConflict { private static int counter = 0; public static void main(String[] args) throws InterruptedException{ Thread t1 = new

    1熱度

    2回答

    插入行期間,我們有表 CREATE TABLE TEST_SUBSCRIBERS ( SUBSCRIPTION_ID varchar(255) NOT NULL COMMENT 'Subscriber id in format MSISDN-SERVICE_ID-TIMESTAMP', MSISDN varchar(12) NOT NULL COMMENT 'Subscriber

    0熱度

    2回答

    我知道併發DispatchQueue允許其中的代碼立即返回,因此不會阻塞調用線程。這通常用於加載大量數據的後臺任務。 我還了解到完成處理程序(例如,在URLSession中)允許在某些任務完成後執行代碼內部處理程序。 我的問題是:這是否意味着併發調度隊列和完成處理程序有重疊的目的?如果我已經使用完成處理程序,那麼不需要用併發調度隊列來包裝它嗎? 例如,下面是一個使用URLSession的耗時數據加

    1熱度

    2回答

    我正在開發一個REST服務(使用RESTeasy),它執行大量計算併產生大量結果(將下載到文件中)。 爲了保護系統,我們決定通過阻止同時調用來限制同一用戶的執行。 我認爲把一個變量的會話,就像這樣: //check if service is running before execution if (Boolean.parseBoolean((String) session.getAttribu

    -2熱度

    1回答

    我有一個方法: void foo(IDictionary<string, object> data) { data["key1"] = getValue1(); data["key2"] = getValue2(); } 我現在把它叫做如下: var serialDict = new Dictionary<string, object>(); foo(serialDic

    -2熱度

    1回答

    我就在想,如果多個夠程都在一組,其中一個/有的則是在他們之中共享,而所有的人都在等待,共享信道可用信道的執行select會發生什麼併發選擇。 將在運行處理這種情況下,只允許一個夠程接入信道,並做讀/寫?

    0熱度

    2回答

    這是一個很大的問題。 我正在嘗試在Java中創建一個有序的多生產者和單消費者場景。它的意思是,在producer1之後,只有producer2得到隊列的控制,之後是producer3,之後是producer1等等。 Thread.NORM_PRIORITY - - 4 producer2 - Thread.NORM_PRIORITY + 5 producer3 - 線程只是爲了檢查是否將所有情況下

    2熱度

    1回答

    顯然,在web應用上下文中訪問同一個@SessionScoped bean的多個併發請求很容易。我是否認爲在訪問這些請求中的@SessionScoped bean時必須顯式控制同步?