当前位置: 首页 > news >正文

研究NIO时的柳暗花明

为什么80%的码农都做不了架构师?>>>   hot3.png

http://buaawhl.javaeye.com/blog/21474

这个贴子讲的是SEDA。SEDA的本意是构造10K请求的框架。原因是线程模型不是一个好的任务调度模型。

后面有人认为SEDA的思想其实就是批处理的思想,所以是倒退。

我不这么认为!批处理思想的出现正是为了充分利用系统资源。多任务思想之所以从来没有被质疑过,是因为大部分多任务系统并没有真正运行在多任务的环境中。说多任务大部分时候只是说用户级任务与系统级任务以时间分片的方式一起执行。而系统任务大部分都不要求实时响应。另一方面,绝大部分计算机虽然都能提供多用户服务,而其实并不需要为多于一个的用户提供服务,不管是在同一个时间还是不同的时间。

但是在高并发的服务器环境中,多任务的思想明显变得越来越行不通。你没有道理往一个只能容下10个人的厨房投入10000个厨师。如果非要这么做,这个厨房实际上到最后一盘菜也出不来。在外面的厨师什么也干不了就不用说了,在里面的厨师实际上基本上也干不了什么。因为大部分的人在里面呆的时间太短,以至于还没找到锅在哪里就被挤出来了。

理性的策略当然是将此厨房的生产能力最大化。如果还不能满足需要,只能新开厨房。生产能力要最大化,就要充分利用每一个厨师的能力。7*24小时工作制明显好过8小时工作制。因为前者是后者3倍的效率。

关键是要从概念上区别开任务的定义与执行。把进程当成任务本身,其实就是把任务的定义与执行放到了一起,不加区分!

转载于:https://my.oschina.net/digerl/blog/10790

相关文章:

  • 多余空格,转换空格
  • [Oracle][Metadata]如何查找与某一个功能相关的数据字典名
  • 调试利器--VS2010(有图有真相)
  • MongodbTemplate的增删改操作
  • Exchange2003升级至Exchange2007
  • 第十九、二十周作业微职位
  • Linux命令(十一)——Shell程序设计二(循环控制语句)
  • 现代软件工程 M1 博客要求
  • nodejs上使用sql
  • 3DS Max的单位设置
  • 默认标签解析
  • 数据库书上概念摘抄
  • c#中取整,向上取,向下取
  • 最近开始温习C#
  • Steve Thair谈DevOps on Windows的演变与面临的挑战
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【RocksDB】TransactionDB源码分析
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • CSS魔法堂:Absolute Positioning就这个样
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript服务器推送技术之 WebSocket
  • JDK 6和JDK 7中的substring()方法
  • MySQL的数据类型
  • React-Native - 收藏集 - 掘金
  • Sass 快速入门教程
  • 测试开发系类之接口自动化测试
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 面试总结JavaScript篇
  • 使用API自动生成工具优化前端工作流
  • 正则表达式小结
  • 走向全栈之MongoDB的使用
  • 最近的计划
  • 06-01 点餐小程序前台界面搭建
  • 2017年360最后一道编程题
  • 国内开源镜像站点
  • #etcd#安装时出错
  • #laravel 通过手动安装依赖PHPExcel#
  • #QT(智能家居界面-界面切换)
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (论文阅读40-45)图像描述1
  • (数据结构)顺序表的定义
  • (一)kafka实战——kafka源码编译启动
  • .NET Core中的去虚
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET命令行(CLI)常用命令
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net中生成excel后调整宽度
  • /usr/bin/env: node: No such file or directory
  • ?.的用法
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell