资源介绍
程序是在vc++2005上运行通过的,在vc6上运行有问题,不过只需要修改输出部分,应该还是可以的。
此外,在vc2005上运行时,由于WaitForMultiObjects函数只能等待64个线程,因此,只要生产者和消费者总数不超过64个就没问题,实际上,即使超过64个线程,通过修改WaitForMultiObjects函数等待对象个数为64,也是可以运行的。我测试了很多次,包括极端的情况(比如1000个生产者1个消费者或者相反的情形),没有问题。
如果需要帮助,可以和我联系。
操作系统中典型的同步问题,m个生产者,n个消费者链接在具有k个单位缓冲区的有界环形缓冲区上,生产者和消费者是并发线程,只要缓冲区未满,生产者线程就可以生产一件产品放入其中,只要缓冲区不空,消费者就可以从中取出一件产品消费。
- 上一篇: 乐手扒谱软件
- 下一篇: Visual C++信号量线程同步的简单实例工程