多线程 - C#

public class MyThread
//传参
  {

  public double Diameter=10;

  public double Result=0;

  public MyThread(int Diameter)

  {

  this.Diameter = Diameter;

  }

  public void Calculate()

  {

  Console.WriteLine( "Calculate Start");

  Thread.Sleep(2000);

  Result = Diameter*Math.PI;;

  Console.WriteLine("Calculate End, Diameter is ,Result is " ,this.Diameter, Result);

  }

  }

  MyThread t=new MyThread(5.0);

  ThreadStart threadStart=new ThreadStart(t.Calculate)

  Thread thread=new Thread(threadStart);

  thread.Start();
}
//不传参
using System;  
using System.Collections.Generic;  
using System.Text;  
using System.Threading;  
namespace 线程练习  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Console.WriteLine("开始一个新的线程,名为次线程");  
            Thread t = new Thread(new ThreadStart(ThreadProc));  
            t.Start();  
            for (int i = 0; i < 4; i++)  
            {  
                Console.WriteLine("主线程:" + i);  
                Thread.Sleep(1000);  
            }  
            Console.WriteLine("调用Join函数等待次线程结束");  
            //当次线程执行完毕后,Join阻塞调用线程,直到某个线程终止为止,本例为次线程  
            t.Join();  
            Console.WriteLine("线程执行完毕");  
        }  
        public static void ThreadProc()  
        {  
            for (int i = 0; i < 10; i++)  
            {  
                Console.WriteLine("ThreadPorc:{0}", i);  
                Thread.Sleep(1000);//将当前进程阻塞指定的毫秒数  
            }  
  
  
        }  
    }  
}  

 

posted @ 2011-05-28 23:03  hen  阅读(168)  评论(0编辑  收藏  举报