我们知道并行编程模型两种:一种是基于消息式的,第二种是基于共享内存式的。 前段时间项目中遇到了第二种 使用多线程开发并行程序共享资源的问题 ,今天以实际案例出发对.net里的共享内存式的线程同步机制做个总结,由于某些类库的应用属于基础,所以本次不对基本使用做出讲解,基本使用 MSDN是最好的教程。....
分类:
编程语言 时间:
2015-03-30 17:50:13
阅读次数:
301
MapReduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。映射(Map),化简(Reduce)的概念和它们的主要思想都是从函数式编程语言中借鉴而来的。它极大地方便了编程人员-----即使在不了解分布式并行编程的情况下,也可以将自己的程序运行在分布式系统上。MapReduce在执行时先指定一个Map(映射)函数,把输入键值对映射成一组新的键值对,经过一定处理后交...
分类:
其他好文 时间:
2015-03-09 19:05:43
阅读次数:
173
现在多数设备、计算机都有多个CPU单元,即使是手机也是多核的。但要在开发中使用多核的优势,却需要一些技巧,花费时间编写额外的代码。好了,现在可以使用Delphi做并行编程了。在Delphi、C++ Builder和RAD Studio XE7中,有一个简化并行运行任务的库,叫做并行编程库。并行编程库...
8天玩转并行开发8天玩转并行开发——第一天 Parallel的使用8天玩转并行开发——第二天 Task的使用8天玩转并行开发——第三天 plinq的使用8天玩转并行开发——第四天 同步机制(上)8天玩转并行开发——第五天 同步机制(下)8天玩转并行开发——第六天 异步编程模型8天玩转并行开发——第七...
分类:
Web程序 时间:
2015-03-04 16:45:08
阅读次数:
175
.NET 4 并行(多核)编程系列之一入门介绍 本系列文章将会对.NET 4中的并行编程技术(也称之为多核编程技术)以及应用作全面的介绍。 本篇文章的议题如下: 1. 并行编程和多线程编程的区别。 2. 并行编程技术的利弊 3. 何时采用并行编程 系列文章链接: .NET 4 并行(多...
分类:
Web程序 时间:
2015-02-28 18:32:40
阅读次数:
171
本文是.Net中的并行编程第六篇,今天就介绍一些我在实际项目中的一些常用优化策略。 一、避免线程之间共享数据 避免线程之间共享数据主要是因为锁的问题,无论什么粒度的锁,最好的线程之间同步方式就是不加锁,这个地方主要措施就是找出数据之间的哪个地方需要共享数据和不需要共享数据的地方,再设计上避免多线程之...
分类:
Web程序 时间:
2015-02-28 00:09:37
阅读次数:
147
第四部分 函数式编程应用
虽然函数式编程肯定是优雅的,但是,你可能更感兴趣的是其实用目的:作为一种通用的风格,是有用的,在某些问题域中,它肯定更出色。我们已经看到的例子,比如,第四章绘制饼图的应用程序,和第十一章简单的照片浏览器,这些示例的主要目的,是为了演示特定的概念和技术。
第四部分则不同。在每一章,我们将花大量时间讨论实际问题,使用最适当的 F# 特点和函数式编程来解决。这些代码将...
分类:
其他好文 时间:
2015-02-03 11:05:20
阅读次数:
185
本文主要介绍如何使用CUDA并行计算框架编程实现机器学习中的Kmeans算法,Kmeans算法的详细介绍在这里,本文重点在并行实现的过程。...
分类:
编程语言 时间:
2015-02-01 21:54:01
阅读次数:
219
现在需要求得一个数组的所有元素之和,之前感觉似乎不太可能,因为每个线程只处理一个元素,无法将所有元素联系起来,但是最近学习了一段代码可以实现,同时也对shared memory有了进一步的理解。...
分类:
编程语言 时间:
2015-01-22 23:23:26
阅读次数:
336
C#基础知识之十一
由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
1、 同步编程是只有一个线程从程序的第一行语句到最后一行语句顺序执行。异步编程是指程序发起多个线程,它们在理论上是同一时间执行的。
2、 .net4.0引入一个新的类库,叫做任务并行库,极大简化并行编程。例:Parallel.For和Parallel.ForEach。
3、...