|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)Erlang可以用来编写高度可伸缩的并行使用程序,个中常常会呈现数以百万计的轻量级组件,这类相似于线程的组件被称之为actor。不幸的是,这常常必要您利用Erlang这类绝对奥秘的编程言语重写一切代码。不外我们也有其他选择,比方利用名不见经传的CCR平台来举行开辟,该平台由.NET呆板人部门开辟。
作为一种基于Actor的言语,Erlang经由过程Actor模子可以完成高度并发性。在这个模子中,最基本的并行单位不是线程或纤程(fiber),而是一种更加轻量级的工具。作为Erlang中的“历程”,每一个并行单位在一个32位体系中只占用约莫1200字节的基本资本。与此绝对的是,Windows操纵体系中的每一个线程默许会在栈上分派1MB空间,别的还必要分外的空间来作为簿记(Bookkeeping)和线程当地存储。因为十分轻量,一个使用程序轻松撑持百万计的历程举行并发处置。
在任一时候,年夜部分的历程处于余暇形态。当一个历程承受到了一条动静,运转平台将为其分派一个线程来应对这条动静。一条应对大概会创立一个新的历程,向其他历程发送动静,大概改动本身形态。一旦动静被处置以后,这个历程将会出生,大概持续守候下一条动静。
动静处置体系完成了高真个并行性和高功能。每条动静都为异步发送,使得历程之间互相高度自力。平台可以经由过程动静来得知应当叫醒哪一个历程。因为每一个历程都能被恣意的线程来处置,因而就能够年夜年夜削减泯灭绝对高贵的高低文切换操纵。
.NET中利用CCR,也就是CoordinationCurrencyRuntime作为Erlang模子的回应。CCR底本面向呆板人平台,正在想法扩大更宽广的市场。SiemensAutomation的一个开辟职员只花了几年工夫就将CCR集成进他们今朝的Blackboard代码库。Blackboard是一个利用AI代办署理和传送带将函件以10米每秒的速率举行分发的体系,包括数百万行遗留代码。Tyco是个卖力从小商铺到白宫的各类事变的平安公司,也在数周内与CCR举行了集成。这些并不是是倾销性子的案例,Siemens和Tyco没有借助微软的匡助就完成了大批的事情。
CCR的中心是一个名为“端口(port)”的API级其余观点。有别于以往挪用类办法的体例,开辟职员利用向端口发送动静来实行操纵。附加在端口上的调控器会读作废息,假如它们切合特定的尺度,就会将动静成批地交给义务举行处置。义务会被放进分发行列中,稍后就会被线程池实行。
调控器构成了调剂单位的基本。它们能够只是个复杂地单个端口的吸收器,或多个端口的团结/选择吸收器。假如必要更庞大的逻辑,它们乃至能够举行各类组合。不外它们的终极目标只要一个,那就是在收到数据时叫醒并实行一系列代码。
CCR的真正能力来自C#的迭代器语法“yieldreturn”。Yieldreturn是一种持续的体例,它不会挂起一个真实的线程,而完成停息线程实行并在今后叫醒的效果。这个特征一样平常用于迭代,不外分离了CCR就可以扩大为恣意范例的异步操纵。如许做的最年夜优点是不必要年夜范围修正您的现有代码。
2008PDC中的这段示例代码展现了怎样利用端口来倡议一个异步伐用。与堵塞体例,大概在异步伐用形式中利用显式回调函数的体例分歧,我们只需复杂的经由过程yieldreturn语句来跳出函数便可。当取得数据,同时有空余线程时,函数就会“绝不知情”地从下一行代码入手下手持续实行。- fs.BeginRead(buffer,0,buffer.Length,arPort.Post,null);//yielduntilstreampostsIAsyncResultontheCCRportyieldreturnarPort.Receive();//extractresult,itmustbeintheportvarar=(IAsyncResult)arPort.Test();intread=fs.EndRead(ar);
复制代码 CCR无望被包括在.NET4.0/VisualStudio2010中。
检察英文原文:ErlangStyleConcurrencyfor.NETApplicationsPart1-CCR
来自:http://www.infoq.com/cn/news/2008/12/CCR
在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。 |
|