using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Product:IDisposable
{
EventWaitHandle EV = new AutoResetEvent(false);
object ob = new object();
Queue<string> ppe=new Queue<string>();
Thread t;
public Product()
{
t = new Thread(new ThreadStart(work));
t.Start();
}
public void SetIn(string ls)
{
ppe.Enqueue(ls);
EV.Set();
}
public void Dispose()
{
SetIn(null);
t.Join();
EV.Close();
}
public void work()
{
while (true)
{
string talk = null;
lock (ob)
if (ppe.Count > 0)
{
talk = ppe.Dequeue();
c# 多线程 生产者/消费者队列 源码
最新推荐文章于 2021-10-31 18:40:11 发布
这是一个使用C#实现的生产者/消费者队列模型,通过多线程实现数据的生产和消费。代码中定义了一个Product类,包含一个内部工作线程work(),用于从队列中取出并处理数据。生产者通过调用SetIn()方法将数据放入队列,消费者则不断检查队列是否有数据,并进行处理。在Main方法中,展示了如何使用这个队列并注入数据。

最低0.47元/天 解锁文章
1470

被折叠的 条评论
为什么被折叠?



