【发布时间】:2013-03-29 22:58:48
【问题描述】:
所以我想我了解并行编程和多线程的概述概念,但我想知道是否可以实现多进程多线程应用程序。如果这是有道理的,那么在查看多线程的一些描述时,它可以在一个处理器上运行,但如果您可以使用并行处理多个内核,您是否也可以在多个内核上进行多线程处理?如果可以的话,有人可以给我看一个简单的例子吗,使用for loop 可能吗?
多线程示例:
public class Test
{
static void Main()
{
Counter foo = new Counter();
ThreadStart job = new ThreadStart(foo.Count);
Thread thread = new Thread(job);
thread.Start();
for (int i=0; i < 5; i++)
{
Console.WriteLine ("Main thread: {0}", i);
Thread.Sleep(1000);
}
}
}
public class Counter
{
public void Count()
{
for (int i=0; i < 10; i++)
{
Console.WriteLine ("Other thread: {0}", i);
Thread.Sleep(500);
}
}
}
并行示例:
int n = ...
Parallel.For(0, n, i =>
{
// ...
});
【问题讨论】:
-
不是 Parallel.For 只是为该循环生成线程的快捷方式吗?
-
您可以在此处和在线搜索中找到很多这样的示例。例如我的系列:reedcopsey.com/series/parallelism-in-net4 很容易找到 C# 线程...
标签: c# multithreading parallel-processing