模拟4.0 的paralell (带参)
来源:互联网 发布:fireworks mac 序列号 编辑:程序博客网 时间:2024/05/08 10:39
using System;using System.Threading;public class MyThread{ public double Diameter = 10; public double Result = 0; public MyThread(int Diameter) { this.Diameter = Diameter; } public void Calculate() { Result = Diameter * Math.PI; Console.WriteLine("Calculate End, Diameter is {0},Result is {1}", this.Diameter, Result); }}public class Test{ public static void Main(String[] args) { Thread.CurrentThread.Name = "主线程"; Console.WriteLine(string.Format("当前线程:{0} 开始", Thread.CurrentThread.Name)); Thread[] threadArr = new Thread[30]; for (int i = 1; i <= threadArr.Length; i++) { MyThread t = new MyThread(i); ThreadStart threadStart = new ThreadStart(t.Calculate); threadArr[i - 1] = new Thread(threadStart); threadArr[i - 1].Name = i.ToString(); threadArr[i - 1].Start(); //threadArr[i-1].Join(); //写在此处会让30个线程顺序执行而失去意义 } foreach (Thread th in threadArr) th.Join(); //中止线程,必不可少。 foreach (Thread th in threadArr) th.Abort(); Console.WriteLine(string.Format("当前线程:{0} 结束", Thread.CurrentThread.Name)); Console.Read(); }}