05 2012 档案
摘要:c#并行编程--Parallel提供对并行循环和区域的支持http://msdn.microsoft.com/zh-cn/library/dd537608Parallel提供了对数据并行的支持,主要是迭代处理数据集合,针对For和Foreach数据环境编程,Parallel提供方式用多线程来处理不同的数据区域下面是我自己测试的一个例子。主要测试For方法这是一个普通输出信息的方法 static void Test(int i) { Console.WriteLine("Test __{0}",i); }static void Mai...
阅读全文
摘要:许多个人计算机和工作站都有两个或四个内核(即 CPU),使多个线程能够同时执行。 在不久的将来,计算机预期会有更多的内核。 为了利用当今和未来的硬件,您可以对代码进行并行化,以将工作分摊在多个处理器上。 过去,并行化需要线程和锁的低级操作。 Visual Studio 2010 和 .NET Framework 4 提供了新的运行时、新的类库类型以及新的诊断工具,从而增强了对并行编程的支持。 这些功能简化了并行开发,使您能够通过固有方法编写高效、细化且可伸缩的并行代码,而不必直接处理线程或线程池。 下图从较高层面上概述了 .NET Framework 4 中的并行编程体系结构。
阅读全文
摘要:多线程和异步操作的异同 多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成了使用多线程和异步操作的时机的区别。 异步操作的本质 所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、光驱的技术规格中都有明确DMA的模式指标,其实网卡、声卡、显卡也是有DMA功能的。DMA就是直接内存访问的意思,也就是说,拥有DMA功能的硬件在和内存进行数据交换的时候可以不消...
阅读全文
摘要:javascript的面向对象编码方式一,创建空对象,然后给空对象添加属性和方法var person = {};//创建了一个空对象给对象添加属性和方法person.name="hello";person.say =function(){ alert(person.name);}//调用的时候直接可以person.name或者person.say()二。创建对象的同时,同时添加属性和方法ver person={name:"hello" ,//逗号分割say:function(){alert(this.name);}//使用this关键字引用本对象内的属性
阅读全文
摘要:Light中定义了类GalaSoft.MvvmLight.Command.RelayCommand这个类继承了ICommand方法,实现了其中的方法,Action就是一个方法参数// 摘要: // A command whose sole purpose is to relay its functionality to other objects // by invoking delegates. The default return value for the CanExecute method // is 'true'. This class do...
阅读全文
摘要:MVVM模式就不细说了个人理解M是Model,是业务实体model,包含了数据的存取访问V是View,是页面,是展示,是数据的显示,应该是单纯的xaml代码VM是ViewModel,他应该是View上数据,方法,事件的抽象集合,是沟通Model和View的桥梁一。 MVVM Light Toolkit安装目前GalaSoft的 MVVM Light Toolkit这个插件在mvvm开发方面应用比较广泛http://www.galasoft.ch/mvvm/安装地址http://www.galasoft.ch/mvvm/installing/目前正式版本是V3.0二。新建mvvm项目下载安装以后
阅读全文