仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1338|回复: 9
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之.NET 4.0函数式编程与和谐数据布局仓酷云

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)和谐数据布局(CoordinationDataStructures,CDS)是在.NET4.0中包括的一套线程平安对象,个中年夜部分是汇合范例。在寂静了6个月以后,这些内容终究有了严重的更新。个中最分明的部分莫过于引进了函数式编程手艺,从而削减了计划形式的利用。
一个新范例是ConcurrentLinkedList,它利用一个predicate函数,并共同TryInsertBetween办法以线程平安的体例拔出节点。这个predicate函数会被对象自己屡次挪用,用于断定符合的拔出地位。如许,即便在单线程的情形下,它利用起来也比一般的LinkedList要便利一些。
另外一利用函数式技能的中央是SpinWait对象。开辟职员能够向SpinWait.SpinUntil办法传送一个predicate函数,而不是一遍又一各处手动挪用SpinOnce办法。
下一个则是新范例:ConcurrentBag。这比如是一个对多线程举行附载平衡的行列汇合。一般情形下,每一个线程只对其本人的行列举行读写。不外在行列为空时,它就会从别的线程的行列中“夺取”一些元素。这意味着在年夜多半情形下,线程之间不会呈现资本合作,可是每一个线程在一切事情完成之前仍然会“尽心尽力”。ConcurrentBag并不是ConcurrentQueue的替换品,后者仍然是单临盆者/单消耗者场景下更好的选择。
WriteOnce类已被移除——这个功效仿佛其实不怎样有效,它只是在setter被会见屡次的情形下抛出非常罢了。比拟之下Lazy和LazyVariable范例更加有效一些,因而它们被保存了上去。这二者都表现了提早初始化的特征(因而又被称为futures)。前者是一个类,尔后者则是一个轻量的,但并不是“相对”线程平安的布局。别的,类库中新增了LazyInitializer,用于处置内存占用(memoryfootprint)成为成绩的情形。另有ThreadLocal类,它能够将线程当地资本和Futures线程平安地绑定起来。
平安地作废义务而不激发线程作废非常仍旧是一个主要的方面。为了改良这个成绩,每一个大概会带来堵塞的办法都增加了作废的功效。微软今朝仍然在遍地引进义务作废模子,如许能够年夜年夜简化类库的开辟难度。
更多的信息可参阅微软并行编程博客和我们之前对CDS的存眷。
检察英文原文:FunctionalProgrammingandCoordinationDataStructures
来自:http://www.infoq.com/cn/news/2009/03/CDS-March
有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到net网页编程编译器那么简易。
乐观 该用户已被删除
沙发
发表于 2015-1-21 05:43:51 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
简单生活 该用户已被删除
板凳
发表于 2015-1-26 20:27:31 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
海妖 该用户已被删除
地板
发表于 2015-2-4 20:02:23 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
因胸联盟 该用户已被删除
5#
 楼主| 发表于 2015-2-10 05:31:07 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
莫相离 该用户已被删除
6#
发表于 2015-2-28 21:42:38 | 只看该作者
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
柔情似水 该用户已被删除
7#
发表于 2015-3-10 08:05:27 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-12 02:51:32 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
小妖女 该用户已被删除
9#
发表于 2015-3-19 17:40:56 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
不帅 该用户已被删除
10#
发表于 2015-3-30 23:26:03 | 只看该作者
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-26 10:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表