namespace Pattern_1 { publicclass Data { //被保护的数据对象 conststring info ="Hello World"; Random random =new Random(); //线程方法 publicvoid Func(Object id) { System.Console.WriteLine("{0} 号线程开始处理数据:{1}", id, info); DoSomething((int)id); System.Console.WriteLine("{0} 号线程完成处理任务", id); } //非常耗时的工作 privatevoid DoSomething(int id) { string str =""; for (int i =0; i <60; i++) { str = str +"."; System.Console.WriteLine("{0} 号线程工作进度{1}", id, str); Thread.Sleep(random.Next(3000)); } } } }
客户端:
namespace Threads { class Program { staticvoid Main(string[] args) { Client_1.Run(); } //演示不变模式 class Client_1 { staticpublicvoid Run() { Pattern_1.Data data =new Pattern_1.Data(); int i; for (i =0; i <2; i++) { Thread t =new Thread(new ParameterizedThreadStart(data.Func)); t.Start(i); } Console.ReadLine(); } } } }