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);
}
}
}