我有一个方法,我实例化如下:
new DatabaseHarness.MemoryStressTest().ExecuteTest("Thread 1",1,1,1)
通过线程进行此调用的标准方法是什么,使用.NET 4的线程功能传递如上所示的参数?
非常感谢
答案 0 :(得分:3)
怎么样:
Thread thread = new Thread(() => {
new DatabaseHarness.MemoryStressTest().ExecuteTest("Thread 1",1,1,1);
});
thread.Start();
答案 1 :(得分:2)
.NET 4.0的方法是使用Task
。
var task = Task.Factory.StartNew(
() =>
{
new DatabaseHarness.MemoryStressTest().ExecuteTest("Thread 1", 1, 1, 1);
},
TaskCreationOptions.LongRunning
);
答案 2 :(得分:0)
至少有两种方法可以做到这一点。请查看此链接以获取更多信息:http://www.dotnetspider.com/resources/4698-Making-Parameterized-reads-C.aspx。
第一个选项涉及创建ParameterizedThreadStart委托,第二个选项是创建包装参数的匿名方法调用(使用第二个方法可能会导致不必要的闭包)。