並列プログラミングとマルチスレッドの概要概念は理解できたと思いますが、マルチプロセスのマルチスレッド アプリケーションを実現できるかどうか疑問に思っていました。それが理にかなっている場合、マルチスレッドの説明のいくつかを見ると、1つのプロセッサで実行できますが、並列を使用して複数のコアで処理できる場合、複数のコアでマルチスレッドすることもできますか? 可能であれば、多分を使用して、この簡単な例を誰かに見せてもらえ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 =>
{
// ...
});