您的位置:首页 > 编程语言 > C#

C#向线程传递参数和获得返回值

2015-07-03 18:12 441 查看
C#发起一个线程以后,经常需要给线程传递一些参数。总结了几种启动线程传递参数的方法。

传递参数

1、通过构造函数传递参数

MyClass obj = new MyClass(a,b);
Thread t = new Thread(new ThreadStart(obj.ThreadMethod));
t.Start();


2、通过对象的属性传递参数

MyClass obj = new MyClass();
obj.a = a;
obj.b = b;
Thread t = new Thread(new ThreadStart(obj.ThreadMethod));


3、使用带参数的ParameterizedThreadStart来代替ThreadStart

MyClass obj = new MyClass();
Parameter p = new Parameter();
Thread t = new Thread(new ParameterizedThreadStart(obj.ThreadMethod,p));


4、使用一个全局的对象,或者单例模式,来设置某个共享资源

获得返回值

1、传递参数传递对象,利用对象的引用性来传递返回值

2、通过委托返回值

GetClass.Invoke(new Action<string>(GetClass.Method,"returnValue"));
//或者自定义委托的方式返回
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: