如何将参数传递给Thread中的ThreadStart方法? [英] How to pass parameters to ThreadStart method in Thread?

查看:30
本文介绍了如何将参数传递给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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆