producerconsumer.cs

来自「vc的原码例子12 vc的原码例子12」· CS 代码 · 共 57 行

CS
57
字号
using System;
using System.Threading;

public class ProducerConsumer
{
	class buffer
	{
		public static int item = 0;
		public static bool empty = true;
	}

	public static void Producer()
	{
		int value = 0;

		do 
		{
			if (buffer.empty)
			{
				buffer.empty = false;
				buffer.item = value;
				value = (value == 1) ? 0: 1;
				Console.WriteLine("P: {0}", buffer.item);
			}
		} while (true);
	}

	public static void Consumer()
	{
		int value;

		do 
		{
			if (! buffer.empty)
			{
				buffer.empty = true;
				Thread.Sleep(1000);
				value = buffer.item;
				Console.WriteLine("C: {0}", value);
			}
		} while (true);
	}


	public static void Main()  
	{
		ThreadStart produce = new ThreadStart(Producer);
		ThreadStart consume = new ThreadStart(Consumer);

		Thread ProducerThread = new Thread(produce);
		Thread ConsumerThread = new Thread(consume);

		ProducerThread.Start();
		ConsumerThread.Start();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?