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
分享到:
相关推荐
《WordPress中的线程评论:深度解析Brian's Threaded Comments插件》 在WordPress这个全球最受欢迎的博客和网站构建平台中,交互性是提升用户体验的重要因素之一。为了增强用户参与度和对话的连贯性,很多网站管理...
资源分类:Python库 所属语言:Python 资源全名:threaded-4.0.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
标题 "rknn-multi-threaded-nosigmoid.zip" 暗示了这个压缩包可能包含一个或多个关于RKNN(RISC-V Neural Network Kernel)的多线程实现,并且在模型中省略了Sigmoid激活函数。RKNN是针对RISC-V架构优化的神经网络...
【threaded-forum】是一个基于C#开发的简单论坛系统,它包含了一些核心的类和控件,提供了源码供用户研究和定制。这个论坛的主要功能可能包括用户注册、发帖、回帖、搜索等基本的社区交互。从提供的文件列表来看,...
此软件包是“More Effective Coroutines”的升级,它使您可以使用与以前相同的yield return语法在主线程和外部线程之间来回切换。 通过允许您编写一个协程,该协程可以收集所需的所有数据,然后切换到一个单独的线程...
MTTTY (Multi-Threaded TTY) 是一个容易使用的高效 Win 32 串行通信程序 文章“Serial Communications in Win32”提到的工具 类似超级终端中串口部分的程序,很不错 这个已经移植到vs2008上面的版本,debug 文件夹有...
标题中的"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.4.11.2.201775-win32-ix86-threaded.exe 包含了很多库,另外是支持win32,32bit的老版本
ActiveTcl8.4.16.0.282109-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"指的是一个特定版本的ActiveTcl软件的安装程序,适用于Windows 32位操作系统,且是线程安全(threaded)的。ActiveTcl是由Tcl/Tk开发公司ActiveState...
ActiveTcl8.6.1.0.297577-linux-ix86-threaded.tar.gz 是一个针对Linux操作系统、32位(i386)架构的Tcl(Tool Command Language)软件包,该版本号为8.6.1.0,具有线程支持。Tcl是一种强大的脚本语言,广泛用于快速...
在给定的资源“threaded-4.0.9.post0.tar.gz”中,我们看到的是一个针对Python的库,名为"threaded",版本为4.0.9.post0。这个库主要关注的是多线程编程,这是在并发处理任务时非常重要的一个领域。 多线程编程允许...
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 是一个针对Windows 32位平台的Tcl(Tool Command Language)的可执行安装程序。Tcl是一种强大的脚本语言,常用于自动化任务、系统管理、软件开发以及图形用户界面...
《ActiveTcl8.6.4.1.299124-win32-ix86-threaded:深入理解Tcl脚本编程环境》 ActiveTcl是Tcl(Tool Command Language)语言的一个强大实现,它为开发人员提供了一个完整的、可移植的、并且经过认证的Tcl运行环境。...
标题中的"threaded-0.7.0-cp35-cp35m-manylinux1_x86_64.whl"是一个Python的轮子文件(wheel file),它是一种预编译的Python软件包格式,使得用户可以直接安装而无需通过源代码进行编译。这个文件的命名结构包含了...
标题中的“TCP/IP多线程web服务器实现,Multi-Threaded Web Server java实现多网页请求访问”揭示了我们要讨论的核心技术点,即如何使用Java语言实现一个基于TCP/IP协议的多线程Web服务器。Web服务器的主要任务是...