【.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