📅  最后修改于: 2023-12-03 15:29:46.880000             🧑  作者: Mango
在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#程序员的首选。
无论你使用哪种方式,创建新线程都是为了在单独的线程中执行后台工作,让你的应用程序可以持续响应用户输入。当你的方法完成后,你需要注意处理线程的终止和资源释放,以避免资源泄漏和其他问题。