atomicreference

    3熱度

    1回答

    我在多線程程序中使用一些全局結構,其中一些成員是由多個線程同時修改,其他一些不是。 我沒有定義這些成員的任何易失性,但任何時候我使用這個成員的讀寫目的,我使用原子builtins如__sync_fetch_and_add。 問題是,我應該定義這個成員還是整個結構易失性? 我認爲編譯器必須訪問內存,而不是任何註冊,因爲這builtins(鎖前綴),我應該擔心其他成員不會造成競爭條件。 我檢查了我的編

    4熱度

    4回答

    我不得不線程之間的訪問同步到共享對象,其狀態由幾個字段。你說: class Shared{ String a; Integer b; //constructor, getters and setters .... } 我有可能是多個線程讀取這個對象,做 //readers shared.getA(); shared.getB(); ,只有一個線程會在某一點上寫: //write

    1熱度

    2回答

    我在我的代碼中使用了Callable,它將被多線程調用,如下所示。截至目前,只要有任何RestClientException被拋出,然後我將hostname添加到blockList。 public class Task implements Callable<DataResponse> { private DataKey key; private RestTemplate r

    1熱度

    1回答

    在我的應用程序中,我瀏覽了大約5個不同的屏幕,每個屏幕都在它自己的activity中。幾乎任何activity都可以從任何其他activity調用,所以我試圖建立一個幫助文件來管理intents,以便我沒有冗餘代碼。 我使用public static方法構建了一個幫助程序文件,並在調用這些方法時傳遞活動context和任何所需的數據。這似乎在我的設備(Samsung Galaxy S5)上正常工作

    3熱度

    1回答

    我正在製作一個2人視頻遊戲,並且在線程中oponent的位置得到更新,因爲它有一個持續監聽的套接字。我想分享的是位置和輪換。 由於這是一個視頻遊戲,我不希望主線程被阻塞(或者只是最短的時間),我不希望性能受到影響。因此,從我所看到分享這一信息正常的事情會是這樣的 class sharedinfo { public synchronized read(); public syn

    1熱度

    2回答

    我試圖根據this發佈來擴展Java中的無鎖隊列的實現。 對於我的實現,我僅限於使用原子變量/引用。 另外,我的隊列應該有一個最大尺寸。 因此,putObject()應該在隊列滿時阻塞,如果隊列爲空,則應該阻塞getObject()。 目前我不知道如何解決這個問題,而不使用鎖。 例如,當使用AtomicInteger時,修改操作將是原子操作。 但是仍然存在一個問題,我必須處理putObject()

    0熱度

    1回答

    只需找到一些關於非阻塞算法的信息,所以想要在實踐中使用它們。我將一些代碼從同步更改爲非阻塞,所以我想問一下我是否做得正確並保存了以前的功能。 同步代碼: protected AtomicReference<PersistentState> persistentState; protected ClassConstructor(final ID id) { supe

    1熱度

    4回答

    有人可以解釋我這樣的: final AtomicReference<Integer> atomicReference = new AtomicReference<>(1); atomicReference.set(2); 在什麼意義上使用,最後?

    1熱度

    1回答

    這更多的是好奇心的問題,但由於boost :: shared_ptr不是線程安全的,爲什麼它會打擾使用原子引用計數?由於析構函數在跨線程使用時不安全,因此我無法看到這一點。 例如,如果您將shared_ptr的副本傳遞給線程,則至少當線程最遲結束時,它總是會被破壞。

    -1熱度

    2回答

    AtomicReference實例使用Unsafe CAS操作來利用處理器指令進行鎖定。但我有點困惑,它在複雜對象的情況下如何工作。 例如讓我們假設我有一個Person類(id,firstName,lastName)的實例。我正在將對象實例共享給多個線程t1,t2和t3。由於操作應該是原子的,所以不要共享Person類對象實例,我會將該對象包裝到AtomicReference實例中並與所有線程共享