如何将参数传递给Thread中的ThreadStart方法? [英] How to pass parameters to ThreadStart method in Thread?
本文介绍了如何将参数传递给Thread中的ThreadStart方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
C#中如何将参数传递给Thread.ThreadStart()
方法?
假设我有一个名为下载"的方法
public void download(string filename){//下载代码}
现在我在main方法中创建了一个线程:
Thread thread = new Thread(new ThreadStart(download(filename));
<块引用>
预期的错误方法类型.
如何使用带参数的目标方法将参数传递给ThreadStart
?
解决方案
最简单的就是
string 文件名 = ...线程线程=新线程(()=>下载(文件名));线程.开始();
这个(相对于ParameterizedThreadStart
)的优点是你可以传递多个参数,并且你可以在不需要从object
全部转换的情况下进行编译时检查时间.
How to pass parameters to Thread.ThreadStart()
method in C#?
Suppose I have method called 'download'
public void download(string filename)
{
// download code
}
Now I have created one thread in the main method:
Thread thread = new Thread(new ThreadStart(download(filename));
error method type expected.
How can I pass parameters to ThreadStart
with target method with parameters?
解决方案
The simplest is just
string filename = ...
Thread thread = new Thread(() => download(filename));
thread.Start();
The advantage(s) of this (over ParameterizedThreadStart
) is that you can pass multiple parameters, and you get compile-time checking without needing to cast from object
all the time.
这篇关于如何将参数传递给Thread中的ThreadStart方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文