`

Threaded vs Evented Servers

阅读更多

Threaded vs Evented Servers

在服务器端,目前共有两种方法处理并发请求:
(1)Threaded线程类服务器是使用多个并行线程来处理请求,每个线程处理一个客户端请求,典型的是J2EE或JavaEE服务器。

(2)Evented事件类服务器则是循环运行一个事件,用来处理所有连接客户端信息。

线程类服务器受限于CPU和线程界限,而事件类服务器并不受限于线程方面约束,因为它只用一个线程,只是受限于CPU能力。

文章对多个情况下两种模式性能比较,当我们需要执行一个后台服务,有高延迟high-latency(无高一致性要求场合),那么事件类服务器模式的性能要好些。

最后一个测试情况是long polling客户端,客户端发出长时间拉请求,也就是通常的AJAX发出的异步 请求,事件类服务器模式要更好些。

转贴这篇文章想说明的是:jdonframework的domain events采取的是Evented事件类服务器模式,这种模式非常适合AJAX发出的轮询或高延迟的异步 请求,这种模式对CPU负载低,不象传统同步多线程模式会Block堵塞住CPU。

适合事件类服务器模式是一些无需分享状态的应用,或者对状态的一致性要求比较低的应用,或者可以说对状态高一致性要求的避免使用事件类服务器模式。

 

原文:http://www.jdon.com/jivejdon/thread/39238

分享到:
评论

相关推荐

    Threaded Comments针对性的留言插件 for Wordpress.rar

    《WordPress中的线程评论:深度解析Brian's Threaded Comments插件》 在WordPress这个全球最受欢迎的博客和网站构建平台中,交互性是提升用户体验的重要因素之一。为了增强用户参与度和对话的连贯性,很多网站管理...

    Python库 | threaded-4.0.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:threaded-4.0.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    rknn-multi-threaded-nosigmoid.zip

    标题 "rknn-multi-threaded-nosigmoid.zip" 暗示了这个压缩包可能包含一个或多个关于RKNN(RISC-V Neural Network Kernel)的多线程实现,并且在模型中省略了Sigmoid激活函数。RKNN是针对RISC-V架构优化的神经网络...

    threaded-forum

    【threaded-forum】是一个基于C#开发的简单论坛系统,它包含了一些核心的类和控件,提供了源码供用户研究和定制。这个论坛的主要功能可能包括用户注册、发帖、回帖、搜索等基本的社区交互。从提供的文件列表来看,...

    MEC Threaded V3.08.0

    此软件包是“More Effective Coroutines”的升级,它使您可以使用与以前相同的yield return语法在主线程和外部线程之间来回切换。 通过允许您编写一个协程,该协程可以收集所需的所有数据,然后切换到一个单独的线程...

    高效 Win 32 串行通信程序 MTTTY (Multi-Threaded TTY)

    MTTTY (Multi-Threaded TTY) 是一个容易使用的高效 Win 32 串行通信程序 文章“Serial Communications in Win32”提到的工具 类似超级终端中串口部分的程序,很不错 这个已经移植到vs2008上面的版本,debug 文件夹有...

    PyPI 官网下载 | threaded-0.9.0.tar.gz

    标题中的"PyPI 官网下载 | threaded-0.9.0.tar.gz"指的是Python的包索引(Python Package Index)上发布的threaded库的0.9.0版本的源码压缩包。PyPI是Python开发者发布和分享自己编写的模块、库和其他工具的地方,...

    ActiveTcl8.6.4.1.299124-win32-ix86-threaded.exe

    ActiveTcl8.6.4.1.299124-win32-ix86-threaded.exe

    ActiveTcl8.4.11.2.201775-win32-ix86-threaded.exe

    ActiveTcl8.4.11.2.201775-win32-ix86-threaded.exe 包含了很多库,另外是支持win32,32bit的老版本

    ActiveTcl8.4.16.0.282109-win32-ix86-threaded

    ActiveTcl8.4.16.0.282109-win32-ix86-threaded

    ActiveTcl8.6.3.1.298624-win32-ix86-threaded

    标题"ActiveTcl8.6.3.1.298624-win32-ix86-threaded"表明这是一个针对Windows 32位Intel x86架构的ActiveTcl版本,版本号为8.6.3.1,构建号为298624,且支持多线程。这意味着它可以充分利用多核处理器的性能,提高...

    ActiveTcl8.4.19.4.292682-win32-ix86-threaded.exe_2

    标题中的"ActiveTcl8.4.19.4.292682-win32-ix86-threaded.exe_2"指的是一个特定版本的ActiveTcl软件的安装程序,适用于Windows 32位操作系统,且是线程安全(threaded)的。ActiveTcl是由Tcl/Tk开发公司ActiveState...

    ActiveTcl8.6.1.0.297577-linux-ix86-threaded.tar.gz

    ActiveTcl8.6.1.0.297577-linux-ix86-threaded.tar.gz 是一个针对Linux操作系统、32位(i386)架构的Tcl(Tool Command Language)软件包,该版本号为8.6.1.0,具有线程支持。Tcl是一种强大的脚本语言,广泛用于快速...

    Python库 | threaded-4.0.9.post0.tar.gz

    在给定的资源“threaded-4.0.9.post0.tar.gz”中,我们看到的是一个针对Python的库,名为"threaded",版本为4.0.9.post0。这个库主要关注的是多线程编程,这是在并发处理任务时非常重要的一个领域。 多线程编程允许...

    Multi-Threaded Libevent Server Example

    Multithreaded, libevent-based socket server. http://sourceforge.net/p/libevent-thread/code/ci/master/tree/README

    ActiveTcl8.4.19.4.292682-win32-ix86-threaded.exe_1

    ActiveTcl8.4.19.4.292682-win32-ix86-threaded.exe 是一个针对Windows 32位平台的Tcl(Tool Command Language)的可执行安装程序。Tcl是一种强大的脚本语言,常用于自动化任务、系统管理、软件开发以及图形用户界面...

    ActiveTcl8.6.4.1.299124-win32-ix86-threaded

    《ActiveTcl8.6.4.1.299124-win32-ix86-threaded:深入理解Tcl脚本编程环境》 ActiveTcl是Tcl(Tool Command Language)语言的一个强大实现,它为开发人员提供了一个完整的、可移植的、并且经过认证的Tcl运行环境。...

    Python库 | threaded-0.7.0-cp35-cp35m-manylinux1_x86_64.whl

    标题中的"threaded-0.7.0-cp35-cp35m-manylinux1_x86_64.whl"是一个Python的轮子文件(wheel file),它是一种预编译的Python软件包格式,使得用户可以直接安装而无需通过源代码进行编译。这个文件的命名结构包含了...

    TCP/IP多线程web服务器实现,Multi-Threaded Web Server java实现多网页请求访问

    标题中的“TCP/IP多线程web服务器实现,Multi-Threaded Web Server java实现多网页请求访问”揭示了我们要讨论的核心技术点,即如何使用Java语言实现一个基于TCP/IP协议的多线程Web服务器。Web服务器的主要任务是...

Global site tag (gtag.js) - Google Analytics