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

2024-02-01

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 http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx为了达成这个:

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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 中是否有与此 Java 代码等效的代码? 的相关文章

随机推荐