当前位置:  开发笔记 > 编程语言 > 正文

Web应用程序中的并发性

如何解决《Web应用程序中的并发性》经验,为你挑选了1个好方法。

因此,最近几乎所有平台提供商都非常重视提供新工具/语言结构以实现更好的并发性.这也是为什么函数式编程语言的许多想法被集成到C#,Java等主流语言中的原因之一.

尽管今天特别是在引入多核CPU的情况下这些很有意义,但我想知道如何在Web应用程序领域中特别使用它们.在Web应用程序中,很多并发性由Web服务器本身管理,我很少看到在Web页面中实现的多线程.AJAX还启用了像"范例"这样的范例来进一步帮助.

Web应用程序通常包括快速获取结果,直到现在我们已经使用了许多策略,如缓存,冗余等来实现这一目标.如果存在计算密集型的东西,则必须脱机(并且客户端可以稍后查询结果或者可以实现回调).

并发类已经在很多库/框架中实现,这些库/框架通常用在像数据库这样的web应用程序中,在memcached等框架中多次获取.

我找不到很多示例场景,其中最近的并发平台和库可以在Web应用程序的上下文中使用.所以我想知道他们在网络领域是否有很多意义.



1> Steven..:

由于Web应用程序默认是并发的,因此您不太可能在Web应用程序中使用新的并发机制(例如TPL或PLINQ for .NET).在高负载的Web服务器上通常不会获得任何结果(通过减慢另一个请求,可以加快一个请求).但是,如果您的专用Web服务器不能满足其大多数CPU周期(同时具有多个内核),那么这些技术可能会很有用.

[更新:]刚刚阅读有关.NET博客并行编程的新文章.这是两个有趣的引用:

在大多数情况下,特别是对于使用频繁的Web应用程序,可能没有必要引入额外的并行性,因为添加更多工作项只会导致CPU时间的竞争并最终降低请求吞吐量.

和:

如果单个请求的延迟比整体请求吞吐量更重要,那么需要执行昂贵计算的Web应用程序仍然可以从并行性中受益.

我认为这回答了你的问题.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有