C# C语言中是否有与此Java代码等价的语言?

C# C语言中是否有与此Java代码等价的语言?,c#,java,multithreading,C#,Java,Multithreading,在C代码中,我想启动一个新线程。但是我想让在新线程中执行的代码与启动线程的方法相同,因为我认为它是更可读的代码。就像上面的Java示例一样 C#中的等效代码是什么样子的?您可以使用a或a: 您可以使用来实现这一点: Thread t = new Thread(() => /* Code to execute */); t.Start(); 正如@JonSkeet所指出的,如果您不需要将创建和调度分开,您可以使用: public class ThreadTest { public s

在C代码中,我想启动一个新线程。但是我想让在新线程中执行的代码与启动线程的方法相同,因为我认为它是更可读的代码。就像上面的Java示例一样

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

您可以使用a或a:

您可以使用来实现这一点:

Thread t = new Thread(() => /* Code to execute */);
t.Start();
正如@JonSkeet所指出的,如果您不需要将创建和调度分开,您可以使用:

public class ThreadTest {

  public static void Main(string[] args) 
  {
    Task task = new Task(() => ... // Code to run here);
    task.Start();
  }
}
或在.Net 4.5+中:

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

+1因为任务方法是推荐的异步编程方法,因为.NET 4I可能建议使用Task.Factory.StartNew或Task.Run from.NET 4.5。但该代码不会创建线程。您只需在当前线程中执行Runnable的run()方法。如果您想要一个线程,您需要执行
新建线程(yourRunnable).start()
Task task = Task.Factory.StartNew(() => ... // Code to run here);
Task task = Task.Run(() =>  ... // Code to run here);