网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

利用F#在Silverlight中实现并行编程

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

  随着.net 4的发布,要在.NET平台之上进行并行编程可谓是易如反掌。实际上,微软为大家提供了三种并行编程的基础功能。第一种是提供给C++使用的并发运行时 (Concurrency Runtime);第二种是藉由.NET平台提供给托管语言的一组并行编程函数库(包括TPL、PLINQ和并行编程数据结构等);最后一种就是基于F# 本身的并行编程特性。

  然而,由于考虑精简的缘故,当前的CoreCLR并未包含.NET 4中的并行函数库,从而在Silverlight(即使最新的Silverlight 4)中也无法直接获得并行编程的能力。但是,大家不用气馁,我们还可以在Silverlight中利用F#来实现并行编程。

  Bart Czernicki在其博文《Silverlight 3 and F# Support in Visual Studio 2010》中详细讲述了这种方式。在这篇博文中,Bart给出利用F#进行并行编程的具体步骤,相应的示例代码,以及对性能的讨论;还表达了一个非常有意思的观点:

  并发编程是Silverlight超越其他RIA技术的最大特性。

  Bart也提到,使用F#来在Silverlight中辅助进行并行编程的好处:

  不用显式地启动、停止线程(比如调用Thread.Start)

  不需使用BackgroundWorker

  不需使用回调(AsyncCallBack)

  无需遵循BeginExecute这样的异步模式

  当然,通过F#来在Silverlight中实现并行编程,还是有诸多的不足:

  不能利用PLINQ

  如果你的代码主要由C#、VB写成,那么只能用F#编写一个包装器,来变相地实现并行

  目前这种方式只能在Silverlight 3上使用,这是由于F# runtime for Silverlight只发布了Silverlight 3的版本,而Silverlight 4版本的F#运行时要在Silverlight 4 Tools for VS2010正式发布的时候才会提供。

  对于上面的最后一点,Gaston Hillar的博文《Silverlight 4 RC Stays With the Old .NET Threads; F# Helps》也有所提及。

  无论如何,虽然我们现在可以变通地在Silverlight中进行并行编程,但还是希望微软能在未来的Silverlight版本中提供直接的并行编程功能。

(责任编辑:admin)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号