仓酷云

标题: ASP.NET编程:在.NET使用程序中举行Erlang作风的并行编程(第1部分)――CCR仓酷云 ... [打印本页]

作者: 逍遥一派    时间: 2015-1-18 11:26
标题: ASP.NET编程:在.NET使用程序中举行Erlang作风的并行编程(第1部分)――CCR仓酷云 ...
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是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语句来跳出函数便可。当取得数据,同时有空余线程时,函数就会“绝不知情”地从下一行代码入手下手持续实行。
  1. 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天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。
作者: 飘灵儿    时间: 2015-1-21 06:26
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
作者: 若相依    时间: 2015-1-30 09:37
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
作者: 小妖女    时间: 2015-1-30 20:05
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
作者: 简单生活    时间: 2015-1-31 12:20
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
作者: 再现理想    时间: 2015-2-3 13:52
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 活着的死人    时间: 2015-2-9 02:31
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
作者: 兰色精灵    时间: 2015-2-9 13:28
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
作者: 灵魂腐蚀    时间: 2015-2-11 19:57
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
作者: 海妖    时间: 2015-3-2 17:51
那么,ASP.Net有哪些改进呢?
作者: 蒙在股里    时间: 2015-3-7 15:34
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者: 老尸    时间: 2015-3-11 03:55
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 再见西城    时间: 2015-3-17 20:08
那么,ASP.Net有哪些改进呢?
作者: 因胸联盟    时间: 2015-3-24 22:45
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2