实现代码

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Collections.Concurrent; namespace CSharpStudy.ParallelStudy
{
class HowToReturnList
{
public static void Error_Test()
{
var list = Enumerable.Range(, ); var results = new List<string>();
Parallel.ForEach(list, (item) =>
{
results.Add("item:" + item);
}); Console.WriteLine(results.Count);
} public static void Lock_Test()
{
var list = Enumerable.Range(, ); var results = new List<string>();
Parallel.ForEach(list, (item) =>
{
lock (results)
{
results.Add("item:" + item);
}
}); Console.WriteLine(results.Count);
} public static void Concurrent_Collections_Test()
{
var list = Enumerable.Range(, ); var results = new ConcurrentQueue<string>();
Parallel.ForEach(list, (item) =>
{
lock (results)
{
results.Enqueue("item:" + item);
}
}); Console.WriteLine(results.Count);
} public static void Task_Test()
{
var list = Enumerable.Range(, ); var tasks = list.Select(item =>
{
return Task.Run<string>(() =>
{
return "item:" + item;
});
}).ToArray();
Task.WhenAll(tasks); Console.WriteLine(tasks.Select(x => x.Result).Count());
} public static void PLinq_Test()
{
var list = Enumerable.Range(, ); var results = list.AsParallel().Select(item => "item:" + item); Console.WriteLine(results.Count());
}
}
}

最新文章

  1. 《Java程序设计与数据结构教程(第二版)》学习指导
  2. How to configure SRTM elevations in WorldWind WMS
  3. MATLAB绘 透视图
  4. thymeleaf中的th:assert用法
  5. mysql 5.7 多源复制 原创
  6. Helpers\Request
  7. IDEA 创建maven-web project失败一例
  8. Logstash add_field 参数应用
  9. 算法优化(动态规划):COGS 2009. [USACO Mar09]餐厅清扫
  10. django 时间计数
  11. HTML5游戏开发引擎Pixi.js完全入门手册(一)框架简介及框架结构分析,作者思路剖析
  12. BOM基础(二)
  13. 本机安装mysql服务,步骤教程(另附SQLyog和Navicat工具)
  14. vue-cli工具搭建vue-webpack项目
  15. github仓库的使用
  16. IntelliJ Idea 第一次使用
  17. 什么是 Message Queue
  18. Intellij IDEA 生成返回值对象快捷键
  19. 20155234java实验一
  20. js外部样式和style属性的添加移除

热门文章

  1. APMServ5.2.6win10系统Apache、MySQL5.1启动失败解决办法
  2. redux,react-redux、redux-thunk、redux-logger、redux-promise实例
  3. Java编程的逻辑 (17) - 继承实现的基本原理
  4. CentOS下Lua 环境的搭建
  5. Java多线程及并发
  6. 查看浏览器中Cookie信息
  7. sqrt
  8. java中的二进制运算简单理解
  9. Android-Binder(一)
  10. hashMap归纳