📜  c# 创建新线程 - C# (1)

📅  最后修改于: 2023-12-03 15:29:46.880000             🧑  作者: Mango

C# 创建新线程

在C#中,可以通过以下方式创建新线程:

Thread t = new Thread(new ThreadStart(MethodName));
t.Start();

其中,ThreadStart代表一个无参、无返回值的委托,你需要将你的方法名传入其中。

如果你的方法需要参数,可以使用以下方式:

Thread t = new Thread(new ParameterizedThreadStart(MethodName));
t.Start(param);

其中,ParameterizedThreadStart代表一个有参数、无返回值的委托,你需要将你的方法名传入其中,并将你的参数传递到Start方法中。

如果你的方法需要返回值,可以使用以下方式:

var t = new Thread(new ThreadStart(() =>
{
    var result = MethodName();
    // 处理返回值
}));
t.Start();

在这种方式下,我们使用了lambda表达式来代替方法名,使我们可以使用闭包来处理返回值。

我们也可以使用Task类来创建新线程:

Task.Run(() => MethodName());

这种方式通常会更容易地处理返回值和异常,同时避免了手动管理线程的生命周期,因此是许多C#程序员的首选。

无论你使用哪种方式,创建新线程都是为了在单独的线程中执行后台工作,让你的应用程序可以持续响应用户输入。当你的方法完成后,你需要注意处理线程的终止和资源释放,以避免资源泄漏和其他问题。