967660
在写代码的时候碰见了一个问题。 首先, 我需要维护一个队列, 有多个方法可以在队列里面插入对象。比如:
let fifo = [];
function productor1(){
fifo.push[obj1]
}
function productor2(){
fifo.push[obj2]
}
然后, 有一个方法来消耗这个数组, 这个是同步的, 第一个数组元素消耗完才能消耗第二个数组元素。
function consumer(){
let obj = fifo.shift()
//处理
}
我应该怎样做到生产者跟消费者同时进行, 并且当数组为空的时候消费者休息, 当生产者往里面加入数据的时候, 消费者又马上开始消费。 尽量用emit来实现, 不要用定时器来判断, 感觉太占资源了