gpt4 book ai didi

c# - C# 中是否有与此 Java 代码等效的代码?

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:32 25 4
gpt4 key购买 nike

public class ThreadTest {

public static void main(String[] args) {

Runnable runnable = new Runnable(){
@Override
public void run(){
//Code to execute on thread.start();
}};

Thread thread = new Thread(runnable);
thread.start();
}
}

在 C# 代码中,我想开始一个新线程。但我想保留将在新线程中执行的代码,使用与线程启动相同的方法,因为我认为它是更具可读性的代码。就像上面的 Java 示例一样。

C# 中的等效代码会是什么样子?

最佳答案

您可以使用 a Task实现这一目标:

public class ThreadTest {

public static void Main(string[] args)
{
Task task = new Task(() => ... // Code to run here);
task.Start();
}
}

正如@JonSkeet 指出的,如果您不需要将创建和调度分开,您可以使用:

Task task = Task.Factory.StartNew(() => ... // Code to run here);

或者在 .Net 4.5+ 中:

Task task = Task.Run(() =>  ... // Code to run here);

关于c# - C# 中是否有与此 Java 代码等效的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com