任何人都可以提供一个示例或任何描述如何生成线程的链接,其中每个线程将同时执行不同的工作。
假设我有job1和job2。我想同时运行两个作业。我需要这些工作并行执行。我怎么能这样做?
答案 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。
答案 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类和任务并行库来创建响应,并行和满足的强大应用程序。用户期望。