concurrency

    2熱度

    2回答

    裏使用Postgres 9.6,我遵循了https://stackoverflow.com/a/40325406/435563建議做一個INSERT或SELECT並返回得到的ID策略: with ins as ( insert into prop (prop_type, norm, hash, symbols) values ( $1, $2, $3, $4 ) on

    4熱度

    1回答

    我有一個包含一些字段的類。我需要通過值來比較這個類的實例,所以我相應地定義了GetHashCode和Equals。因爲類允許循環引用,所以我需要一種避免無限遞歸的機制(有關更詳細的解釋,請參閱Value-equals and circular references: how to resolve infinite recursion?)。 class Foo { public stri

    0熱度

    4回答

    我有一個應用程序將從文件夾中讀取並等待文件出現在此文件夾中。當這個文件出現時,應用程序將讀取內容,使用文件中的數據向外部系統執行一些功能,然後刪除文件(並等待下一個文件)。 現在,我想在兩臺不同的機器上運行此應用程序,但都在同一個文件夾中偵聽。所以它是完全相同的應用程序,但有兩個實例。我們稱之爲實例A和實例B. 因此,當出現一個新文件時,A和B都會找到該文件,並且都會嘗試讀取它。這會導致兩種情況之

    1熱度

    1回答

    假設我有以下代碼: private final ReentrantLock resourcesLock = new ReentrantLock(true); private Condition resourcePresentCondition= resourcesLock.newCondition(); public void requestRes() throws InterruptedE

    1熱度

    1回答

    我有一個名爲DataPanel的面板,它擴展了JPanel,還有一個名爲DataPanelWorker的工作器,它擴展了SwingWorker。 當前,當我創建DataPanel時,我啓動DataPanelWorker,它執行一些計算並在每次計算後觸發屬性更改。 DataPanel監聽這些屬性更改並每次顯示一條消息。 例如 「計算1完成」 「計算2完成」 這工作正常!我現在想要做的是創建DataP

    2熱度

    2回答

    轉到文檔說: 當協程塊,如通過調用攔截系統調用,所以他們贏得了運行時自動移動在同一操作系統線程其他協同程序的不同,運行的線程不會被阻止 但是,運行時如何檢測到goroutine被阻塞? 例如,如果我將在go-routine之一中運行計算,它會被評估爲阻塞操作嗎? package main import ( "fmt" "runtime" ) func f(from st

    7熱度

    3回答

    讀Java語言規範,我發現這個摘錄有關最終字段: 最終場的使用模式很簡單:將最終場 在該對象的構造方法的對象;並且不要在對象的構造函數完成之前,在線程可以看到它的地方寫入 引用。如果遵循這個 ,那麼當另一個線程看到該對象時,該線程將始終看到該對象的最終字段的正確構造版本。 它還會看到任何對象或 數組引用的版本,這些最終字段至少爲最新的 ,因爲最終字段爲。 鏈接:https://docs.oracl

    0熱度

    1回答

    我正在使用TDD並有許多模塊進行端到端測試。 其中一些是在同一個端口上啓動服務器,所以我不能使它們平行。 我如何標記一些工件不能並行運行?

    4熱度

    2回答

    我在java 8中使用Completable期貨,我想寫一個方法,基於收到的參數,並行運行多個副作用的任務,然後返回他們的「合併」未來(使用CompletableFuture.allOf()),或者什麼都不做,並返回一個已經完成的未來。 然而,allOf返回CompletableFuture<Void>: public static CompletableFuture<Void> allOf(Co

    -2熱度

    1回答

    Java支持應用程序通過各種機制來運行異步任務,究竟是一項任務? JavaDocs:https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html