.NET4中多线程并行方法Parallel.ForEach
2017-07-15 14:20
190 查看
原文发布时间为:2011-12-10 —— 来源于本人的百度文章 [由搬家工具导入]
namespace ForEachDemo
{
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Linq;
using System.Diagnostics;
class SimpleForEach
{
static void Main()
{
// A simple source for demonstration purposes. Modify this path as necessary.
var watch = new Stopwatch();
var list = Enumerable.Range(0, 10);
// Method signature: Parallel.ForEach(IEnumerable<TSource> source, Action<TSource> body)
watch.Start();
Parallel.ForEach(list, item =>
{
try
{
var t = 2 / item;
Console.WriteLine("Processing {0} on thread {1}", item,
Thread.CurrentThread.ManagedThreadId);
}
catch
{
}
} //close lambda expression
); //close method invocation
watch.Stop();
Console.WriteLine(watch.ElapsedMilliseconds);
// Keep the console window open in debug mode.
Console.WriteLine("Processing complete. Press any key to exit.");
Console.ReadKey();
}
}
}
namespace ForEachDemo
{
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Linq;
using System.Diagnostics;
class SimpleForEach
{
static void Main()
{
// A simple source for demonstration purposes. Modify this path as necessary.
var watch = new Stopwatch();
var list = Enumerable.Range(0, 10);
// Method signature: Parallel.ForEach(IEnumerable<TSource> source, Action<TSource> body)
watch.Start();
Parallel.ForEach(list, item =>
{
try
{
var t = 2 / item;
Console.WriteLine("Processing {0} on thread {1}", item,
Thread.CurrentThread.ManagedThreadId);
}
catch
{
}
} //close lambda expression
); //close method invocation
watch.Stop();
Console.WriteLine(watch.ElapsedMilliseconds);
// Keep the console window open in debug mode.
Console.WriteLine("Processing complete. Press any key to exit.");
Console.ReadKey();
}
}
}
相关文章推荐
- Parallel ForEach For 多线程并行计算使用注意
- C#多线程 为多核处理器而生的多线程方法Parallel.For和Parallel.ForEach
- 构建多线程应用程序2 Parallel 并行类:Parallel.ForEach()、Task异步操作类:Task.Factory.StartNew()、并行LINQ查询: AsParallel()
- 多线程GCD+同步执行+异步执行+并行执行+串行执行+重复、分组、延迟、障碍方法
- Parallel.ForEach() 并行循环
- 一起谈.NET技术,VS2010&.Net 4.0 之并行运算(Parallel)(For、Foreach)
- php中foreach结合curl实现多线程的方法分析
- 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
- 重新想象 Windows 8 Store Apps (43) - 多线程之任务: Task 基础, 多任务并行执行, 并行运算(Parallel)
- 看看Parallel中高度封装的三个方法,Invoke,For和ForEach
- C++ boost库无锁队列多线程并行测试与编译方法
- 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
- java 多线程并行求和 之 join() 方法应用
- C#并行运算 Parallel.Invoke、Parallel.For、Parallel.Foreach性能测试及示例
- 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
- 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
- Parallel.ForEach 方法
- 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
- 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
- R语言并行计算的原理和案例(foreach,parallel)