我觉得我理解了并行编程和多线程的概念,但我想知道是否可以实现多进程多线程的应用程序。如果可以的话,当查看一些多线程的描述时,它可以在一个处理器上运行,但如果您可以使用并行在多个核心上进行处理,那么您也可以在多个核心上进行多线程处理吗?如果可以的话,有没有人能给我展示一个简单的示例,使用for循环
可能会更好理解?
多线程示例:
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 =>
{
// ...
});