c# - 如何将参数传递给Thread中的ThreadStart方法?

标签 c# .net multithreading

如何将参数传递给 C# 中的 Thread.ThreadStart() 方法?

假设我有一个名为“下载”的方法

public void download(string filename)
{
    // download code
}

现在我在main方法中创建了一个线程:

Thread thread = new Thread(new ThreadStart(download(filename));

error method type expected.

如何使用带参数的目标方法将参数传递给 ThreadStart

最佳答案

最简单的就是

string filename = ...
Thread thread = new Thread(() => download(filename));
thread.Start();

这个(相对于 ParameterizedThreadStart)的优点是您可以传递多个参数,并且无需从 object 强制转换所有参数即可进行编译时检查时间。

关于c# - 如何将参数传递给Thread中的ThreadStart方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3360555/

相关文章:

c# - 对启用分页的 gridview 进行排序

c# - 如果元素来自 ItemSsource,如何在 WPF TreeView 中聚焦元素?

.net - 如果用户不是管理员,则在 Azure 中运行 exe 时 RoleEnvironment.IsAvailable == false

c# - .NET Async 中的可伸缩性与响应能力

c# - WebChannelFactory 和标题?

c# - 我应该使这个 XmlSerializer 静态吗?

C# 寻找一种线程安全且有效的方法来捕获跨多个命名空间的耗时

c++ - 什么是线程

c# - .net 中的线程

c# - 我的属性搜索 XPath 查询有什么问题