代码之家  ›  专栏  ›  技术社区  ›  Onur Yıldırım

.NET线程-快速问题

  •  1
  • Onur Yıldırım  · 技术社区  · 16 年前

    我应该在下面的函数中用什么来代替“sometype”? 这里的代表好像错了。

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

    编辑:我不想用其他方法来写这个。

    4 回复  |  直到 16 年前
        1
  •  2
  •   PetPaulsen    16 年前

    尝试 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
  •  3
  •   Matti Virkkunen    16 年前

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

        3
  •  0
  •   xxxxxxxxxadfas    16 年前

    我认为没有sometype,因为您正在调用一些将被线程化的函数。不是吗? 喜欢 thread t=新线程(new threadstart(function_name_here)); t.开始();

    和 void函数_name_here()) { 废话 }

    仅供参考,没有返回类型,只有void。

        4
  •  0
  •   Ani    16 年前

    更换 SomeType 具有 System.Threading.ThreadStart 或 System.Threading.ParameterizedThreadStart .