[英]Thread safe queue in Java
我想實現一個由多個線程命中的隊列。
這是堆棧的單例類。
現在,一個簡單的解決方案是同步這個? 我認為它需要這個標准嗎? 但是,我想優先寫入它。
因此,寫入是高優先級,讀取是低優先級。
這可能嗎?
理想情況下,如果可能的話,多線程寫入而不進行同步將是很好的。
為什么要避免同步? 可以編寫“無鎖”結構,但它非常棘手且容易出錯。
如果我是你,我會使用ArrayBlockingQueue
或ConcurrentLinkedQueue
(或java.util.concurrent
中的其他結構之一),讓你的生活變得輕松!
哦,我錯過了關於優先讀取寫入的一點。 您可以使用ReentrantReadWriteLock
類執行此操作。 然后你不需要一個線程安全的隊列 - 你只需要使用讀寫鎖在外部鎖定,具體取決於你是在讀還是寫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.