簡體   English   中英

Java中的線程安全隊列

[英]Thread safe queue in Java

我想實現一個由多個線程命中的隊列。

這是堆棧的單例類。

現在,一個簡單的解決方案是同步這個? 我認為它需要這個標准嗎? 但是,我想優先寫入它。

因此,寫入是高優先級,讀取是低優先級。

這可能嗎?
理想情況下,如果可能的話,多線程寫入而不進行同步將是很好的。

為什么要避免同步? 可以編寫“無鎖”結構,但它非常棘手且容易出錯。

如果我是你,我會使用ArrayBlockingQueueConcurrentLinkedQueue (或java.util.concurrent中的其他結構之一),讓你的生活變得輕松!

哦,我錯過了關於優先讀取寫入的一點。 您可以使用ReentrantReadWriteLock類執行此操作。 然后你不需要一個線程安全的隊列 - 你只需要使用讀寫鎖在外部鎖定,具體取決於你是在讀還是寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM