在无限循环中使用队列中的值时 - 更有效:
1)阻止队列,直到通过take()获得值
while (value = queue.take()) { doSomething(value); }
Run Code Online (Sandbox Code Playgroud)
2)睡眠n毫秒并检查物品是否可用
while (true) {
if ((value = queue.poll()) != null) { doSomething(value); }
Thread.sleep(1000);
}
Run Code Online (Sandbox Code Playgroud) 我有一个链接的阻塞队列,我在其中执行插入和删除操作.
我需要知道哪一个更好put或者offer在链接阻塞队列的情况下.
性能参数是CPU利用率,内存和总吞吐量.
应用程序使用是实时系统,其中可以有多个传入请求和更少的线程来处理我们需要在队列中插入元素的位置.
我读了Java文件的put和offer在内部应用程序中没有太大区别.