C#/.NETパラレルプログラミングParallelの一般的な構文の詳細
5890 ワード
これをクリックしてC#/.NET非同期プログラミング【目次】
Parallelは並列プログラミングに使用され、Taskに基づいて4.5パッケージ化されています。
1、Parallel.Invokeは主にタスクの並列に使用されます
この関数の機能はTaskと少し似ています。一連のタスクを同時に実行し、すべての完了を待つことです。Taskと比べるとTaskは省略されています。WaitAllこの一歩。2つの形式があります。
Parallel.Invoke( params Action[] actions); Parallel.Invoke(Action[] actions,TaskManager manager,TaskCreationOptions options); ///
///
///
public void StartManyTask()
{
Parallel.Invoke(
() => { },
() => { },
() => { });
}
2、Parallel.ForEachパラレルループ反復運転
///
///
///
public void CycleStartTask()
{
Parallel.For(0, 5, i => { });
Parallel.ForEach(new string[] { "0", "1", "2", "3", "4" }, i => { });
}
3、ParallelOptionsは同時数量を制御できる
public void LimitThreadCount()
{
int maxCount = 5;
//parallelOptions
ParallelOptions parallelOptions = new ParallelOptions();
parallelOptions.MaxDegreeOfParallelism = maxCount;
Parallel.For(0, 10, parallelOptions, i => { });
}
///
///
///
public void StartManyTask()
{
Parallel.Invoke(
() => { },
() => { },
() => { });
}
///
///
///
public void CycleStartTask()
{
Parallel.For(0, 5, i => { });
Parallel.ForEach(new string[] { "0", "1", "2", "3", "4" }, i => { });
}
public void LimitThreadCount()
{
int maxCount = 5;
//parallelOptions
ParallelOptions parallelOptions = new ParallelOptions();
parallelOptions.MaxDegreeOfParallelism = maxCount;
Parallel.For(0, 10, parallelOptions, i => { });
}