C#实现多线程
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; //Download by http://www.codefans.net namespace UseMonitor { class Program { static void Main(string[] args) { TestMonitor tm = new TestMonitor(); //实例化TestMonitor类 for (int i = 0; i < 3; i++) //创建3个线程,模拟多线程运行 { Thread th = new Thread(tm.TestRun); //创建线程并绑定TestRun方法 th.Start(); //启动线程 } Console.Read(); } } //线程要访问的公共资源类 class TestMonitor { private Object obj = new object(); //定义同步对象 private int i = 0; //定义整型变量,用于输出显示 public void TestRun() //定义线程的绑定方法 { Monitor.Enter(obj); //在同步对象上获取排他锁 Console.WriteLine("i的初始值为:" + i.ToString()); Thread.Sleep(1000); //模拟做一些耗时的工作 i++; //变量i自增 Console.WriteLine("i在自增之后的值为:" + i.ToString()); Monitor.Exit(obj); //退出同步 } } }