如何在C#中生成线程

时间:2010-04-18 06:30:56

标签: c# multithreading

任何人都可以提供一个示例或任何描述如何生成线程的链接,其中每个线程将同时执行不同的工作。

假设我有job1和job2。我想同时运行两个作业。我需要这些工作并行执行。我怎么能这样做?

3 个答案:

答案 0 :(得分:16)

嗯,从根本上说它就像:

ThreadStart work = NameOfMethodToCall;
Thread thread = new Thread(work);
thread.Start();
...

private void NameOfMethodToCall()
{
    // This will be executed on another thread
}

但是,还有其他选项,例如线程池或(在.NET 4中)使用Parallel Extensions。

我的threading tutorial相当陈旧,Joe Alabahari has one too

答案 1 :(得分:2)

答案 2 :(得分:0)

C#中的线程由Thread Class建模。当进程启动时(运行程序),您将获得一个运行应用程序代码的线程(也称为主线程)。要显式启动另一个线程(除了你的应用程序主线程),你必须创建一个线程类的实例并调用它的start方法来使用C#运行线程,让我们看一个例子

  using System;
  using System.Diagnostics;
  using System.Threading;

  public class Example
  {
     public static void Main()
     {
           //initialize a thread class object 
           //And pass your custom method name to the constructor parameter

           Thread thread = new Thread(SomeMethod);

           //start running your thread

           thread.Start();

           Console.WriteLine("Press Enter to terminate!");
           Console.ReadLine();
     }

     private static void SomeMethod()
     {
           //your code here that you want to run parallel
           //most of the cases it will be a CPU bound operation

           Console.WriteLine("Hello World!");
     }
  }

您可以在本教程中了解更多信息Multithreading in C#,在这里您将学习如何利用C#和.NET Framework提供的Thread类和任务并行库来创建响应,并行和满足的强大应用程序。用户期望。