所以我想我理解并行编程和多线程的概述概念,但我想知道是否可以实现多进程多线程应用程序。如果这是有道理的,那么在查看多线程的一些描述时,它可以在一个处理器上运行,但是如果您可以使用并行处理多个内核,您还可以在多个内核上进行多线程处理吗?如果可以的话,有人可以给我看一个简单的例子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 =>
{
// ...
});