关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

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

发布时间:2019-12-28 17:28:39

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

//或者自定义委托的方式返回



/template/Home/Zkeys/PC/Static