Mat*_*ith 11 java queue multithreading thread-safety
我想实现一个由多个线程命中的队列.
这是堆栈的单例类.
现在,一个简单的解决方案是同步这个?我认为它需要这个标准吗?但是,我想优先写入它.
因此,写入是高优先级,读取是低优先级.
这可能吗?
理想情况下,如果可能的话,多线程写入而不进行同步将是很好的.
dty*_*dty 21
为什么要避免同步?可以编写"无锁"结构,但它非常棘手且容易出错.
如果我是你,我会使用ArrayBlockingQueue或ConcurrentLinkedQueue(或其他结构之一java.util.concurrent)让你的生活变得轻松!
哦,我错过了关于优先读取写入的一点.你可以在ReentrantReadWriteLock课堂上做到这一点.然后你不需要一个线程安全的队列 - 你只需要使用读写锁在外部锁定,具体取决于你是在读还是写.