C#中的多线程问题,为啥带参数的方法不行,不带参数的可以?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中的多线程问题,为啥带参数的方法不行,不带参数的可以?相关的知识,希望对你有一定的参考价值。
Thread t1 = new Thread(new ThreadStart(Show('hello')));
t1.Start();
private void Show(string str)
MessageBox.Show(str);
为什么这样不行,它说一定要用什么 方法 哦,是不是不能含有参数的函数啊?
好像下面就行哦:
Thread t1 = new Thread(new ThreadStart(Show()));
t1.Start();
private void Show()
MessageBox.Show(‘hello');
比如传一个string 到线程里
Thread th=new Thread(the_work)
th.Start("要传进线程的串");
public void the_work(object o)
string s=(string)o;
//你线程里的工作
参考技术B 楼主,你要是想带参数可以用这个
ParameterizedThreadStart pts = new ParameterizedThreadStart(ReceiveDate);
Thread threadReceive = new Thread(pts);
User user = new User(newClient);
threadReceive.Start(user);
看第一行,我这段代码的ReceiveDate方法就是有一个参数的,使用ParameterizedThreadStart这个创建线程可以带一个参数
以上是关于C#中的多线程问题,为啥带参数的方法不行,不带参数的可以?的主要内容,如果未能解决你的问题,请参考以下文章
C#和Java中的构造器constructor是啥?起啥作用?为啥不可以被override??