如何使用线程启动带有参数的方法

本文关键字:参数 方法 何使用 线程 启动 | 更新日期: 2023-09-27 18:37:21

对于在 C# 中创建和启动新线程,我们的行为如下:

using System.Threading;
Thread thread = new Thread(new ThreadStart(WorkThreadFunction));
thread.Start();
public void WorkThreadFunction()
{
  //Stuff Here
}

但是带参数的方法呢?
对于这些方法,下面的代码有错误。

using System.Threading;
int a = 5;
int b = 6;
Thread thread = new Thread(new ThreadStart(WorkThreadFunction(a, b)));
thread.Start();

public void WorkThreadFunction(int a, int b)
{
  //Stuff Here
}

错误:

应使用的方法名称

我需要将这些参数传递给该方法!
解决方案是什么?

提前致谢

如何使用线程启动带有参数的方法

使用 lambda 表达式封装带有参数的方法调用:

Thread thread = new Thread(new ThreadStart(() => WorkThreadFunction(a, b)));