reactor模式前序:传统IO的WEB服务器设计
2024-09-07 07:35:28
先看一段经典的WEB JAVA服务器设计
JAVA代码为(伪代码)
1 ServerSocket serverSocket = ...;
2 serverSocket.bind(8899);
3
4 while (true) {
5 final Socket socket = serverSocket.accept(); // 阻塞
6
7 new Thread(new Runnable() {
8 public void run() {
9 socket.getInputStream();
10 xxxxx
11 }
12 }).start();
13
14 }
可以看到,传统IO编程方式,来一个请求链接,就创建一个线程,非常简单粗暴,缺点也是显而易见的
1.一台计算机的线程数是不可能无限制地增加的,到了一定程度,将会到达瓶颈
2.线程与线程之间的上下文切换是需要时间的
最新文章
- 添加文件到HDFS的集中缓存
- tyvj1011 传纸条
- Ubuntu14.04用apt在线/离线安装CDH5.1.2[Apache Hadoop 2.3.0]
- tomcat 内存问题 xms xmx permsize maxPermsize
- 河南省第四届ACM程序设计大赛
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- ASP.NET MVC学习之Ajax(完结)
- Win7“当前用户没有安装Microsoft Office";
- Erlang数据类型的表示和实现(4)——boxed 对象
- ionic项目的一些简单操作
- 【失败】制作CentOS镜像
- Android Activity启动模式
- ThinkPHP导入Excel文件(使用PHPExcel)
- oracle 数据库技术支持生命周期表
- HTML和CSS的知识点
- 免费MD5解密网站,轻松破解md5密码,mysql5/mysql323,ntlm,salt密码
- C语言bitmap的使用技巧
- 分治(超级easy 不要看)
- Windows PowerShell 入門(7)-関数編2
- Fiddler: 如何抓取HTTPS协议的网页
热门文章
- 莫比乌斯反演进阶-洛谷P2257/HDU5663
- 第15.48节、PyQt显示部件:TextBrowser、CalendarWidget、LCDNumber、ProgressBar、Label、HorizontalLine和VerticalLine简
- 第二十五章、containers容器类部件GroupBox分组框详解
- PyQt(Python+Qt)学习随笔:QTableWidget设置项的setItem方法
- PyQt(Python+Qt)学习随笔:QCommandLinkButton的特征及用途
- PHP代码审计分段讲解(13)
- 简单且实用的关闭当前应用的auto.js 代码
- Typora入门教程
- datagrip2020最新安装破解教程方法激活码安装参数
- CSP-S2020 浙江 游记