生产者消费者问题
2017-01-31 21:34
106 查看
void producer()
{
message pmsg;
while(true)
{
receive(mayproduce,pmsg)
pmsg=produce();
send(mayconsume,pmsg);
}
void consume()
{
massage cmsg;
while(true);
{
receive(mayconsume,pmsg);
consume(cmsg);
send(mayproduce,null);
}
void main()
{
create_mailbox(mayconsume);
create_mailbox(mayproduce);
为了提供对互斥的支持,必须满足以下要求:
①对一个资源来说,同一时刻只允许一个进程在临界区中
②一个在非临界区停止的进程必须不干涉其它进程
③无死锁和饥饿
④当没有进程在临界区中时,任何需要进入临界区的进程必须能够立即进入
⑤对相关进程的速度和处理器的数目没有任何要求和限制
⑥一个进程驻留在临界区中的时间必须是有限的
{
message pmsg;
while(true)
{
receive(mayproduce,pmsg)
pmsg=produce();
send(mayconsume,pmsg);
}
void consume()
{
massage cmsg;
while(true);
{
receive(mayconsume,pmsg);
consume(cmsg);
send(mayproduce,null);
}
void main()
{
create_mailbox(mayconsume);
create_mailbox(mayproduce);
为了提供对互斥的支持,必须满足以下要求:
①对一个资源来说,同一时刻只允许一个进程在临界区中
②一个在非临界区停止的进程必须不干涉其它进程
③无死锁和饥饿
④当没有进程在临界区中时,任何需要进入临界区的进程必须能够立即进入
⑤对相关进程的速度和处理器的数目没有任何要求和限制
⑥一个进程驻留在临界区中的时间必须是有限的
相关文章推荐
- 《unix网络编程》生产者消费者问题
- 生产者消费者问题(Producer-consumer problem)
- 生产者消费者问题(C实现)
- 生产者消费者问题(notify和wait)
- 生产者消费者问题
- 生产者消费者问题
- 生产者消费者问题(C实现)
- 认识生产者消费者问题
- 生产者消费者问题(信号量)
- 生产者消费者问题
- 生产者消费者问题(thinking in java 709 )
- 生产者消费者问题(C实现)
- 生产者消费者问题
- 生产者消费者问题
- 生产者消费者问题
- 生产者消费者问题(C实现)
- 生产者消费者问题
- 生产者消费者问题——C++ windows版 多生产者多消费者的队列实现
- 生产者消费者问题
- 生产者消费者问题(C实现)