关于线程

using System;
using System.Threading;
//Thead的使用
namespace ThreadingExample1
{
 public class ThreadExample
 {
  public static void ThreadProc()
  {
   for(int i=0;i<10;i++)
   {
    Console.WriteLine("ThreadProc:{0}",i);
    Thread.Sleep(0);
   }
  }
  public static void Main(){
   Console.WriteLine("在主进程中启动一个线程");
   Thread t=new Thread(new ThreadStart(ThreadProc));//创建一个线程
   t.Start();//启动线程
   Thread ts=new Thread(new ThreadStart(ThreadProc));//创建一个线程
   ts.Start();//启动线程
   ts.Suspend();//挂起该线程
   for(int i=0;i<4;i++){
    Console.WriteLine("主程序输出……");
    Thread.Sleep(0);//线程屏蔽的毫秒数,0表示应该挂起此线程以使其他等待线程能够执行
   }
  Console.WriteLine("主线程调用线程Join方法直到ThreadProcl线程结束.");
   t.Join();//阻塞调用线程,直到某个线程终止时为止
   Console.WriteLine("ThreadProcl线程结束");
   ts.Resume();
  }
 }

using System;
using System.Threading;
//Thread中的参数传递
namespace ThreadArgs{
 public class SimpleThread{
  private string procParameter="";
  public SimpleThread(string strPara){
   procParameter= strPara;
  }
  public void WorkerNethod(){
   Console.WriteLine("参数输入为:"+procParameter);
  }
 }
 class MainClass{
  [STAThread]
  static void Main(string[] args){
   SimpleThread st=new SimpleThread("这是参数字符串");
   Thread t=new Thread (new ThreadStart(st.WorkerNethod));
   t.Start();
   t.Join(Timeout.Infinite);
  }
 }
}

你可能感兴趣的:(关于线程)