C#中的多线程问题,为什么带参数的方法不行,不带参数的可以? 5
Threadt1=newThread(newThreadStart(Show('hello')));t1.Start();privatevoidShow(stringst...
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');
} 展开
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');
} 展开
3个回答
展开全部
c# 给线程传参数有很多方法,这里举个例子
比如传一个string 到线程里
Thread th=new Thread(the_work)
th.Start("要传进线程的串");
public void the_work(object o)
{
string s=(string)o;
//你线程里的工作
}
比如传一个string 到线程里
Thread th=new Thread(the_work)
th.Start("要传进线程的串");
public void the_work(object o)
{
string s=(string)o;
//你线程里的工作
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主,你要是想带参数可以用这个
ParameterizedThreadStart pts = new ParameterizedThreadStart(ReceiveDate);
Thread threadReceive = new Thread(pts);
User user = new User(newClient);
threadReceive.Start(user);
看第一行,我这段代码的ReceiveDate方法就是有一个参数的,使用ParameterizedThreadStart这个创建线程可以带一个参数
ParameterizedThreadStart pts = new ParameterizedThreadStart(ReceiveDate);
Thread threadReceive = new Thread(pts);
User user = new User(newClient);
threadReceive.Start(user);
看第一行,我这段代码的ReceiveDate方法就是有一个参数的,使用ParameterizedThreadStart这个创建线程可以带一个参数
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询