0

可能重复:
带参数的 C# ThreadStart

如何将具有一个参数的方法放入线程 C#。

例子:

Thread thread = new Thread(SoundInputThread.getSomething(hz));
                 thread.Start();
                 for (int i = 0; i < 5; i++) {
                     Console.WriteLine();
                     Thread.Sleep(1000);
                 }


     public static void getSomething(int hz) {
            hz = 100;
            Console.WriteLine();
        }
4

2 回答 2

3

您可以按如下方式捕获该值:

Thread thread = new Thread(() => {
   getSomething(hz);
});
thread.Start();
于 2012-11-14T16:17:23.577 回答
1

您需要使用 Thread 的重载构造函数,它采用ParameterizedThreadStart它将允许将参数传递给线程方法。在该方法中,您可以将对象返回到您的类型。

thread = new Thread(new ParameterizedThreadStart(getSomething));
thread.Start(2);

public static void getSomething(object obj) {
      int i = (int)obj;
}
于 2012-11-14T16:18:26.227 回答