java ConcurrentLinkedQueue在并发场景中的应用

本文为原创文章,转载请注明出处,谢谢你……

> 喜欢java并发编程的请加群:736156823

开始-->

有些时候,我们想使用非阻塞队列,但是还希望如果队列中有任务到来时就去即时的消费掉。

这里的即时消费是带有时间忍受度的,也就是说,当任务到达队列中时希望最多在非阻塞队列中停留最多3毫秒(或者300毫秒,3纳秒,自定义)就要被消费掉,那么改怎么使用呢?

代码示例如下(这时原来线上的代码):

原线上代码

最近几天运维和我说机器cpu使用率经常90%不掉(单核使用率),今天把代码修改后如下:

当前线上代码

本地1000个线程同时挂在到concurrentqueue,一个生产者for循环放入,每放入一个休眠1微妙,cpu占用10%左右,测试通过。

至于里面的一些参数是什么,请自己猜测吧,还有至于测试的demo怎么写也请自己完成吧,都很简单的,就这样。

后面会给出代码灵感,与相关分析内容。

> 喜欢java并发编程的请加群:736156823

结束-->

本文为原创文章,转载请注明出处,谢谢你……

你可能感兴趣的:(java ConcurrentLinkedQueue在并发场景中的应用)