我最近遇到了生产者/消费者模式c#实现.它非常简单,(至少对我来说)非常优雅.
它似乎是在2006年左右设计的,所以我想知道这种实施是否
安全
- 仍然适用
代码如下(原始代码参考http://bytes.com/topic/net/answers/575276-producer-consumer#post2251375)
using System;
using System.Collections;
using System.Threading;
public class Test
{
static ProducerConsumer queue;
static void Main()
{
queue = new ProducerConsumer();
new Thread(new ThreadStart(ConsumerJob)).Start();
Random rng = new Random(0);
for (int i=0; i < 10; i++)
{
Console.WriteLine ("Producing {0}", i);
queue.Produce(i);
Thread.Sleep(rng.Next(1000));
}
}
static void ConsumerJob()
{
// Make sure we get a different random seed from the
// first thread
Random rng = new Random(1);
// We happen to …Run Code Online (Sandbox Code Playgroud)