BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Silverlight的任务并行库

| 作者 Jonathan Allen 关注 551 他的粉丝 ,译者 李永伦 关注 0 他的粉丝 发布于 2011年8月30日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Silverlight的异步服务模型迫使开发者从一开始就处理多线程。因此微软选择去掉任务并行库就显得有点奇怪了,毕竟它是.NET多线程基础设施的核心。幸运的是,我们还有其他选择。

如果LGPL 2.0许可证不会为你带来麻烦,你可以使用Mono实现的移植。Robert McLaws和Jrmie“Garuma”Laval已经完成了移植,并把他们的成果发布到NuGet,标题是Task Parallel Library for Silverlight - 2.0。不幸的是,他们还没发布LGPL许可证的副本、源代码或者Mono版权信息的通告。虽然这是可以修正的,但它可能在此时造成一些法律问题。

假设他们将会修正这个疏忽(译注:目前已经修正),你就可以从他们的包里得到下面这些特性:

  • 适用于Silverlight 3和4的实现
  • 适用于Silverlight for Windows Phone 7和7.1的实现
  • 任务并行库本身(System.Threading.Tasks)
  • 并行数据结构(System.Collections.Concurrent)
  • 取消基础设施(如CancellationToken)
  • 并行for循环,但不支持并行LINQ表达式

另一个选择是David Catuhe的PortableTPL。这不是真正的TPL,不过非常简单,原本是为教学而设计的。当然,它确实能够在Silverlight、Windows Phone 7和XBox 360上运行,并且非常大方地采用了Microsoft Public License许可证。它拥有核心TPL特性,比如Task和取消,但缺少并行数据结构。

查看英文原文:Task Parallel Library for Silverlight

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Mono是个大宝库 by Jeffrey Zhao

愚蠢的.NET程序员才会忽视Mono。

Re: Mono是个大宝库 by Sun Peng

不要一概而论,你这是扯蛋

Re: Mono是个大宝库 by Jeffrey Zhao

来来,说个反例出来。

silverlight5 RC by yys yys

silverlight5 RC已经内置System.Threading.Tasks了!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT