异步模式之生产者与消费者

1.定义

异步模式之生产者与消费者
异步:由于存在消息队列,生产者产生的数据不能立刻被消费者处理,中间会有延迟,因此归为异步。

异步与同步的区别:

同步:线程A要请求某个资源,但是此资源正在被线程B使用中,因为同步机制存在,线程A请求不到,只能等待下去;
异步:线程A要请求某个资源,但是此资源正在被线程B使用中,因为没有同步机制存在,线程A仍然请求的到,线程A无需等待。

2.代码

1.获取消息的方法
异步模式之生产者与消费者
如果队列为空,消费者进程释放锁进入waitset队列,不为空则取出队列中的头部节点并唤醒生产者再返回。
生消息的方法
异步模式之生产者与消费者
如果队列满了,生产者进程释放锁进入waitset队列等待,没有满则将消息加入队列中的尾部节点并唤醒消费者。