生产者消费者问题,缓冲区作为临界资源,是某一时刻只能有一个生产者或者消费者进程对缓冲区操作,还是某一时刻可以有一个生产者+一个消费者对缓冲区操作。我知道同类角色直接(如多个生产者)是互斥的,那么不同角色如生产者消费者可以同时存在吗?
生产者消费者问题,缓冲区作为临界资源,是某一时刻只能有一个生产者或者消费者进程对缓冲区操作,还是某一时刻可以有一个生产者+一个消费者对缓冲区操作。我知道同类角色直接(如多个生产者)是互斥的,那么不同角色如生产者消费者可以同时存在吗?
1.问:生产者消费者问题,缓冲区作为临界资源,是某一时刻只能有一个生产者或者消费者进程对缓冲区操作,还是某一时刻可以有一个生产者+一个消费者对缓冲区操作
2.问:不同角色如生产者消费者可以同时存在吗?
能够想到是 互斥锁(Mutex):它的作用是:某同一时刻只能有一个线程对缓冲区操作。
读写锁(rwLock):它的作用是:某同一时刻可以同时读,但不允许同时读写,也不允许同时写。
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
生产者、消费者都会修改缓冲区,所以同时只能有一个操作。
只有不同的只读操作才可以同时进行。