LinkedList队列和线程安全

ite*_*ter 0 java collections multithreading android

我有一个add()对象进入LinkedList队列的线程,另一个线程是poll()要处理的对象的队列.这是我在队列中使用的唯一两种方法.我从不迭代队列,也不添加或删除列表中间的对象.当两个线程相互踩踏并以某种方式破坏数据时,我无法想到一个场景,但也许我的想象力根本就缺乏.

推送很少(每秒几次),但轮询非常频繁(每秒几千次).我想知道我为同步add()和获得了多少惩罚poll().这是在Android上运行的.

编辑:我不是在寻找BlockingQueue; 我在I/O上阻塞,而不是阻塞队列中的对象:

run()上等待空间轮询的线程块的方法来在输出缓冲器变得可用.当空间可用时,它会查看是否有任何对象在队列中等待.如果有可用,则将其序列化为输出缓冲区.如果队列为空(即poll()返回null),则为poll()其他优先级较低的队列,如果全部为空,则序列化"无数据现在可用"消息.

Voo*_*Voo 5

Umn没有android有BlockingQueues?它们专为这种情况而设计,不知道你为什么要使用其他任何东西 - 不能提高效率..