.NET线程 - 快速问题

时间:2010-09-18 22:54:38

标签: c# .net multithreading

我应该在下面的函数中放置什么而不是“SomeType”? 代表似乎在这里错了..

 public static void StartThread(SomeType target)
 {
     ThreadStart tstart = new ThreadStart(target);
     Thread thread = new Thread(tstart);
     thread.Start();
 }
编辑:我不是在寻找替代方法来写这个。

4 个答案:

答案 0 :(得分:3)

您应该将ThreadStart作为参数,而不是尝试在方法中初始化它。

答案 1 :(得分:2)

尝试System.Action类型。

这是我的测试代码:

static void Main(string[] args)
{
    StartThread(() => Console.WriteLine("Hello World!"));

    Console.ReadKey();
}

public static void StartThread(Action target)
{
    ThreadStart tstart = new ThreadStart(target);
    Thread thread = new Thread(tstart);
    thread.Start();
}

答案 2 :(得分:0)

我认为没有Sometype,因为你正在调用一些将被线程化的函数。不是吗? 喜欢 线程t =新线程(新的ThreadStart(function_name_here)); t.start();

和 void function_name_here() { Blah blah }

仅供参考,没有返回类型,但是VOID。

答案 3 :(得分:0)

SomeType替换为System.Threading.ThreadStartSystem.Threading.ParameterizedThreadStart