我有一个带有3个参数的方法,我想为它创建一个线程。我知道如何为没有任何参数和对象类型参数的方法创建一个线程。方法标题是:
public void LoadData(DataGridView d, RadioButton rb1, RadioButton rb2){
//}
答案 0 :(得分:2)
除了Tzah的答案,你不提线程的生命时间和管理。这是一个思考它的好地方 - 只要你写出高质量的代码..
如果您使用3个参数以上的线程池中的线程,请使用我之前的答案:C# - ThreadPool QueueUserWorkItem Use?
如果您使用.Net 4.0+,请考虑使用任务
答案 1 :(得分:1)
您可以像这样使用Lambda Expression:
new Thread(() => LoadData(var1, var2, var3)).Start();
或
Thread T1 = new Thread(() => LoadData(var1, var2, var3));
T1.Start();
答案 2 :(得分:1)
由于Tzah的答案肯定会有效,因此在.NET Framework中使用线程的推荐方法现在位于Task Parallel Library
。 TPL提供了ThreadPool
的抽象,它管理一个线程池供我们使用,而不是创建和销毁,这具有非负的成本。它们可能不适合各种卸载工作(例如非常长时间运行的CPU消耗任务),但它们肯定会涵盖大多数情况。
与使用TPL的请求相当的示例是使用Task.Run
:
Task task = Task.Run(() => LoadData(var1, var2, var3));