logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

信号量和互斥锁实现生产者消费者模型

两个或多个进程/线程共享一个固定大小的缓冲区,其中"生产者"负责往缓冲区添加数据,"消费者"负责从缓冲区取出数据,需要确保生产者不会在缓冲区满时继续添加,消费者不会在缓冲区空时继续取出。当一个线程持有互斥锁时,其他线程尝试获取该锁会被阻塞,直到锁被释放。在该模型中,我们需要一个东西用来存储生产数据,可以是链表,也可以是数组,这里用链表来存储。释放(Post/V):也称为“V操作”,增加信号量的值,

#linux#c#
到底了