生产者消费者问题(有限缓存问题,Linux下运行)

时间:2012-12-14 16:41:55
【文件属性】:

文件名称:生产者消费者问题(有限缓存问题,Linux下运行)

文件大小:4KB

文件格式:C

更新时间:2012-12-14 16:41:55

生产者消费者 有限缓存 Linux 多线程 信号量

生产者和消费者问题: 1、建立一个有界的缓冲区buffer_item buffer[BUFFER_SIZE],大小BUFFER_SIZE为5。 2、主线程(main函数)操作如下:从命令行获取程序参数;初始化信号量及二进制锁;创建生产者线程与消费者线程;休眠一段时间令生产者线程与消费者线程对有界的缓冲区进行操作;退出程序。 3、设置两个信号量full和empty,分别在有界的缓冲区buffer空或者满时防止消费者或生产者进入临界区对buffer进行操作。设置一个锁mutex,防止多个线程同时进入buffer。 4、生产者操作:休眠一段随机时间,生产一个随机数,添加到有界的缓冲区中。进入临界区前先wait empty与mutex,出临界区后signal full和mutex。 5、消费者操作:休眠一段随机时间,进入有界的缓冲区中取走一个数。进入临界区前先wait(full)与wait(mutex),出临界区后signal (empty)和signal (mutex)。


网友评论

  • 在unbuntu完美运行
  • 这个资源很好,和书上的要求一致
  • 资源很好,程序运行无错!
  • 好像还行。。反正看书看懂的。
  • 用UBUNTU运行后报错,不知道是不是编码问题