把小蜜蜂连接池的等待/传递逻辑过程制作成一个队列,传递性能如何?
队列类:https://github.com/Chris2018998/BeeCP/blob/master/src/main/java/cn/beecp/util/ConcurrentTransferQueue.java
测试类:https://github.com/Chris2018998/BeeCP/blob/master/src/test/java/cn/beecp/test/other/TransferQueueTest.java
测试机器
CPU: I5-4210M(2.6赫兹,双核4线程)
内存: 8G
OS: win7_64
JDK: Java1.8.0_65-b17
测试说明
1: 10个并发线程不停往队列写数据
2: 10个并发线程从队列中各自拉100次,共1000次
3: 计算拉取线程的Poll的时间消耗,并计算平均时间
平均时间图示(纳秒)
测试原始日志信息
<ArrayBlockingQueue>offerThreadSize:10,pollThreadSize:10,poll times:1000,total time:5492610(ns),avg time:5492.61(ns)
<LinkedBlockingQueue>offerThreadSize:10,pollThreadSize:10,poll times:1000,total time:7384272(ns),avg time:7384.272(ns)
<LinkedTransferQueue>offerThreadSize:10,pollThreadSize:10,poll times:1000,total time:40399539(ns),avg time:40399.539(ns)
<ConcurrentTransferQueue>offerThreadSize:10,pollThreadSize:10,poll times:1000,total time:2605772(ns),avg time:2605.772(ns)
Tag:BeeCP
以上是 把小蜜蜂连接池的等待/传递逻辑过程制作成一个队列,传递性能如何? 的全部内容, 来源链接: utcz.com/z/518453.html