ite*_*ter 0 java collections multithreading android
我有一个add()对象进入LinkedList队列的线程,另一个线程是poll()要处理的对象的队列.这是我在队列中使用的唯一两种方法.我从不迭代队列,也不添加或删除列表中间的对象.当两个线程相互踩踏并以某种方式破坏数据时,我无法想到一个场景,但也许我的想象力根本就缺乏.
推送很少(每秒几次),但轮询非常频繁(每秒几千次).我想知道我为同步add()和获得了多少惩罚poll().这是在Android上运行的.
编辑:我不是在寻找BlockingQueue; 我在I/O上阻塞,而不是阻塞队列中的对象:
在run()上等待空间轮询的线程块的方法来在输出缓冲器变得可用.当空间可用时,它会查看是否有任何对象在队列中等待.如果有可用,则将其序列化为输出缓冲区.如果队列为空(即poll()返回null),则为poll()其他优先级较低的队列,如果全部为空,则序列化"无数据现在可用"消息.
| 归档时间: |
|
| 查看次数: |
3929 次 |
| 最近记录: |