Java中的线程安全队列

Mat*_*ith 11 java queue multithreading thread-safety

我想实现一个由多个线程命中的队列.

这是堆栈的单例类.

现在,一个简单的解决方案是同步这个?我认为它需要这个标准吗?但是,我想优先写入它.

因此,写入是高优先级,读取是低优先级.

这可能吗?
理想情况下,如果可能的话,多线程写入而不进行同步将是很好的.

dty*_*dty 21

为什么要避免同步?可以编写"无锁"结构,但它非常棘手且容易出错.

如果我是你,我会使用ArrayBlockingQueueConcurrentLinkedQueue(或其他结构之一java.util.concurrent)让你的生活变得轻松!

哦,我错过了关于优先读取写入的一点.你可以在ReentrantReadWriteLock课堂上做到这一点.然后你不需要一个线程安全的队列 - 你只需要使用读写锁在外部锁定,具体取决于你是在读还是写.

  • 停止思考并开始测量.:-) (11认同)