逍遥一派 发表于 2015-1-18 11:26:11

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语句来跳出函数便可。当取得数据,同时有空余线程时,函数就会“绝不知情”地从下一行代码入手下手持续实行。
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:01

ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。

若相依 发表于 2015-1-30 09:37:54

通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。

小妖女 发表于 2015-1-30 20:05:00

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

简单生活 发表于 2015-1-31 12:20:02

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

再现理想 发表于 2015-2-3 13:52:50

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

活着的死人 发表于 2015-2-9 02:31:58

当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。

兰色精灵 发表于 2015-2-9 13:28:19

HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.

灵魂腐蚀 发表于 2015-2-11 19:57:57

主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。

海妖 发表于 2015-3-2 17:51:37

那么,ASP.Net有哪些改进呢?

蒙在股里 发表于 2015-3-7 15:34:36

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

老尸 发表于 2015-3-11 03:55:26

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

再见西城 发表于 2015-3-17 20:08:05

那么,ASP.Net有哪些改进呢?

因胸联盟 发表于 2015-3-24 22:45:35

ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
页: [1]
查看完整版本: ASP.NET编程:在.NET使用程序中举行Erlang作风的并行编程(第1部分)――CCR仓酷云 ...