synchronized

    1熱度

    1回答

    我有很多來自客戶端和一個POST請求的異步GET調用。 我的servlet獲得POST請求後,我想以其他方式處理即將發生的GET調用。這裏是我的嘗試,但未能: public class MyServlet { private static volatile proceed = true; public void doGet(req, resp) { ...

    3熱度

    5回答

    我的一個java 靜態方法是由多個線程訪問。我是否需要通過同步關鍵字明確地同步該方法? 有時回我在一本書其中指出 靜態方法隱含線程安全的方法是不反對 具體 讀取。 衆所周知的例子是Singleton實現。 其中getInstance()是靜態的,我們是否需要將它標記爲synchronized? public **synchronized** static Logger getInstance()

    0熱度

    2回答

    我正在修復findbug提出的 Lazy initialization of "static" fields should be "synchronized"建議的問題。 This鏈接暗示要麼我必須使字段變量volatile或使初始化塊​​。哪種方法更好?每種方法的優缺點是什麼?

    2熱度

    2回答

    我們可以同步一個類中的函數,或者我們可以在線程中鎖定它的對象,以在對象上創建線程安全。 class DBresource { synchronized public void dosomething() throws InterruptedException { ... ... } } OR class MyThread exte

    0熱度

    1回答

    我確實使用3 docker containers設置了帶有3個節點的Galera cluster。要求當數據從donor節點同步到其他節點時,基於同步節點上的觸發器wsrep_notify_cmd或wsrep_sst_method,還需要將數據填充到該節點上相應的Redis隊列。 問題是隻有在啓動集羣時纔會調用這2個觸發器。有日誌說,當一個節點加入羣集時,這兩個觸發器被調用。但是,當我試圖修改模式

    0熱度

    1回答

    嗨我有一個java程序多線程查詢HSQL數據庫。我從查詢中得到一些非常奇怪的結果,我的猜測是數據庫沒有設置爲同時處理多個查詢。 (這甚至可以在數據庫中?)。 然後我想要做的是排隊任何數據庫查詢。 據我可以告訴這是在我的數據庫對象中做功能時使用synchronize關鍵字完成的? 我的數據庫對象看起來是這樣的: public class Database(){ public Databas

    1熱度

    1回答

    我正在實現一個帶有三個類的虛擬程序,以更直觀地參考Future的工作方式。我的問題是,有時程序將被鎖定在同步方法,它不會繼續。我找不到原因。有人能夠發現爲什麼沒有一個戰士會打印「我贏了」的路線嗎?當塊 我的電流輸出: Fighter1 Fighter1已進入同步方法 Fighter2 Fighter2已進入同步方法 的代碼如下。 主要類: import java.util.concurrent.C

    0熱度

    2回答

    在剛剛添加的同步到大多數方法的時刻,因爲看起來沒有它,這些方法不是線程安全的。還有什麼我需要實現以確保它是線程安全的。 此外,有沒有更好的方式去做這件事。當時只有一個線程可以同時使用循環隊列,這似乎有點低效。 class CircularQueue<T> implements Iterable<T>{ private T queue[]; private int head, t

    -1熱度

    1回答

    我有一種方法,一次只能由一個線程訪問。即使線程使用不同的對象,一次只能有一個線程訪問該方法。 我可以在Java中使用什麼來實現這一目標? 我認爲'synchronized'關鍵字將允許多個線程一次訪問該方法,如果他們使用不同的對象。 我相信與重入鎖相同。

    0熱度

    2回答

    我是線程的新手,特別是​​關鍵字。 我知道如果一個線程的狀態改變爲BLOCKED,如果它試圖訪問另一個線程已經擁有該鎖的同步塊。 參考: synchronized (objA){ objA.methodA(); } //some code objA.methodB(); 我的問題是另一個線程是否可以通過獨立的其他方法(在methodB()本示例)改變對象objA。或者擁有鎖