【.NET重修计划】带参数的线程

带参数的线程
一、带参数线程的声明及使用。

  Thread 线程名 = new  Thread(new ParameterizedThreadStart(方法名));
  线程名.Start(参数);


  ①线程直接传入的参数只能有一个,且为object型。

  ②方法中须将传入的参数强制转换为方法所需的值类型。
  ③要传入多个参数时,可以通过实例化一个对象类,使用该对象类的属性,或者创建一个数组。


二、案例“使用传入多个参数的线程”

 

代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;

namespace 线程传参
{
class Program
{
static void Main(string[] args)
{
//实例化Text对象。
Text txt1 = new Text();
txt1.txtName
= "AAAAAAAA";
txt1.about
= "aaaaaaaa";

//实例化Write对象。
Write write1 = new Write();

//创建一个带参数的线程。
Thread thread1=new Thread(new ParameterizedThreadStart(write1.WriteText));

//这里只能传递一个object类型的参数,使用实例化对象的属性可以达到传递多个参数的目的。
thread1.Start(txt1);
}

//创建一个Text类,用属性来传递多个参数。
public class Text
{
//.Net Framework 3.0之后可以直接用set;get;来接收属性。
public string txtName { set; get; }
public string about { set; get; }
}

public class Write
{
//接收参数的方法。
public void WriteText(object txt)
{
//这里是将传递过来的object型参数强制转换为原来的类型。
string txtName = ((Text)txt).txtName;
string about = ((Text)txt).about;
File.WriteAllText(
"H:\\Blog_Work\\线程传参\\线程传参创建的文件\\" + txtName + ".txt", about);
}
}
}
}

 

 

  Over

posted @ 2010-11-17 15:51  Lothduin  阅读(309)  评论(0编辑  收藏  举报