c#题例-2025-08-23 00:59:57
日期: 2025-08-23 分类: AI写作 2次阅读
编写一个C#程序,模拟一个简单的“生产者-消费者”多线程系统,要求如下:
1. 有一个固定大小的线程安全队列(例如最多容纳10个元素)。
2. 有多个生产者线程,每个线程不断生成0到100之间的随机整数,并将它们放入队列中。
3. 有多个消费者线程,每个线程从队列中取出数字,并计算这些数字的累计平均值。
4. 当某个消费者线程检测到最近的累计平均值在连续10次取值中都小于20时,通知所有线程退出,并输出“系统终止:平均值持续偏低”。
5. 如果所有生产者都已完成生产(例如运行时间达到某一设定值),并且队列为空时,系统也应终止,并输出“系统终止:生产完成,队列为空”。
要求:
- 使用合适的同步机制(如Semaphore、Monitor、BlockingCollection等)确保线程安全。
- 避免忙等待,尽可能提高性能。
- 程序需具备良好的结构和异常处理能力。
- 输出信息应清晰,标明当前操作来源(哪个线程在生产或消费)。
请写出完整的C#控制台应用程序实现。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐