消费者一次性取出全部数据的阻塞队列(java自定义)
这里就典型的生产消费问题, 生产一条,丢到线程池消费一条,然而当时的生产者性能远的高于消费者性能,于是决定做这样一个队列,生产者一条一条的产生数据后进入队列,消费者等待队列装满或者1秒以后还没装满就去消费。大概实现:“读” “写”相互等待,“写”满时或者达到超时时间唤醒 ”读“,“读”完立即唤醒 “写”原因: 当时要做一个优化, 大量的数据拉取后,需要同步到 ES,之前是多个线程一条条的插入,这样改造可以一次批量插入几十条数据到 ES,实际性能提升了很多(具体提升多少忘了)
原创
2023-12-18 17:01:26 ·
433 阅读 ·
2 评论