synchronized

    3熱度

    2回答

    我已經從類A創建了三個對象。所有這三個對象都可以更新存儲在A類中私有靜態易失性變量中的值。更新此變量是在具有特定條件的同步塊中完成的。我想通過使用鎖對象來同步塊。 所以第一對象在MainClass A a1 = new A(); A a2 = new A(); A a3 = new A(); 創建並在此之後的對象開始過着自己的生活。這裏是我的類A的一個簡單的例子 public class

    0熱度

    1回答

    在代碼中,線程輸出未正確同步。輸出應該是按升序排列的數字。 這裏是代碼 public class Prog { public static void main(String[] args) { Thread a = new Thread(new Writer(), "A"); Thread b = new Thread(new Writer(), "B");

    0熱度

    1回答

    public class DeadlockDemo2 { public static Object Lock1 = new Object(); public static Object Lock2 = new Object(); public static void main(String[] args) { // TODO Auto-generate

    0熱度

    2回答

    我正在使用android。請幫助提供任何建議。 我有3個方法(線程)。 Method_1 { trigger Method_3; ...} Method_2 { trigger Method_3; ...} Method_3 { ... } 我怎樣才能確保Method_3只能通過Method_1或Method_2被觸發? 換句話說,如果Method_1在Method_2之前

    -1熱度

    1回答

    因此,可能已經有這樣的問題,但我無法找到類似的問題。 我正在嘗試做的事情很多,用戶是否會收到來自其他設備的邀請。然後會出現一個視圖,彈出當前視圖,要求用戶接受或拒絕邀請。 但是,如果用戶接受邀請,我需要執行一個操作,但是我似乎無法讓線程等待,直到用戶響應,我不確定最佳操作過程。 我一直在閱讀GCD,看看能不能從中找出解決方案,但之前我從未使用過GCD,但無法弄清楚。 這裏是我的代碼,這是一個方法中

    1熱度

    1回答

    最近,我在創建生產可重用實例的工廠時遇到了一種情況。 public class Factory { private static final int REUSABLE_TIMES_LIMIT = 10; private static Product instance = new Product(); private static int getTimes;

    1熱度

    3回答

    我有一個方法 public static synchronized void print(String message, int sleepTime) throws InterruptedException { System.out.println(message); Thread.sleep(sleepTime); } 調用此方法打印任何消息,我給它,並導致調用它來暫停

    0熱度

    2回答

    public class B extends Thread { @Override public void run() { print(); } public synchronized void print(){ int i; for (i=0;i<1000;i++){ System.out.println(

    2熱度

    1回答

    假設我有一個同步HashMap,它具有一個字符串作爲鍵,並將作爲一個列表作爲值。 Map<String, List<Object>> map = Collections.synchronizedMap(new HashMap<String, List<Object>>()); 該列表是線程安全的嗎?例如,如果我這樣做: List<Object> list = map.get("whatever

    0熱度

    1回答

    我是一個在java中做蛇遊戲的校內業餘愛好者,它並不完整,我遇到了一個我無法修復的問題。在吃完目標後,身體的第一部分和第二部分表現得很好,但在那之後他們沒有。 代碼,增加了身體的一部分:移動所述身體部位(爲moveUp,下移等: public synchronized void moveRight(int x, int y) { timer++; while (!this.ri