编程知识 购物 网址 新闻 笑话 | 软件 日历 阅读 图书馆 China 头条阅读 学淘股 China Travel
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
   -> 架构设计 -> 网络应用的编程模型 -> 正文阅读

[架构设计]网络应用的编程模型

网络应用有很多种,现今互联网以及移动互联网时代最多的当属是HTTP Service。早在互联网+这个词充斥各种新闻之前,互联网就是由成千上万的HTTP Service节点构成的。当网络应用越来越复杂,一个应用的用户数量到达一定程度的时候,HTTP Service的性能就会被高度关注起来。因为这个问题,不仅仅是服务器成本的问题,还是用户体验的问题。
网络应用的性能瓶颈之一在于 I/O 处理上,网络I/O,磁盘I/O的响应是非常慢的,效率是非常低的。相比于内存I/O,网络和磁盘就行走路,而内存就像是飞。如何让I/O跟上CPU的处理速度,不让I/O成为瓶颈呢?我们先看看网络应用的几种编程模型。
单线程下的阻塞式I/O
基本属于科普讲解级别的应用编程模型。这里的单线程指的是接受网络连接请求的处理代码是单线程工作的,所有请求需要排队处理。阻塞式I/O指的是请求必须处理一个完成后再处理下一个。由于请求处理的内容不一样,处理所需时间也不一样,这严重影响了整体的用户体验。


多线程下的阻塞式I/O
由于单线程下的阻塞式I/O的明显缺陷,所以就有了多线程下的阻塞式I/O编程模型。根据单线程的解释顾名思义,多线程指的是接受网络连接请求的处理代码事多线程工作的,这样多个并行的网络请求,就可以并行处理,这样零星的超时处理就不会影响到其他的用户。


基于事件驱动单线程下的无阻塞式I/O
这里的单线程和上面的单线程一样,都是指接受网络连接请求的处理代码是单线程工作的,无阻塞式I/O指的就是请求的处理是无阻塞的,请求的处理在其他线程中完成后由事件循环机制通知请求处理线程,再由请求处理线程返回给客户端。单线程无阻塞式I/O与多线程阻塞式I/O其实都是多线程并行计算处理请求的,他们之间的主要差别在于将线程开辟推延至需要密集计算的业务处理逻辑阶段。在网络I/O阶段,单线程相比多线程有无需线程调度,无需公共资源竞锁的优势。


  架构设计 最新文章
spring boot实现ssm(2)功能
java 企业站源码 兼容手机平板PC 自适应响应
Serverless无服务应用架构纵横谈
理论篇:关注点分离(Separation of concern
Struts 2 入门
spring boot实现ssm(1)功能
SpringMVC通过Redis实现缓存主页
网络应用的编程模型
应用服务器和Web服务器
java 企业网站源码 后台 springmvc SSM 前台
上一篇文章      下一篇文章      查看所有文章
加:2015-12-23 01:06:49  更:2017-05-16 02:41:15 
 
360图书馆 软件开发资料 购物精选 新闻资讯 Chinese Culture 三丰软件 开发 中国文化 阅读网 头条阅读 学淘股 China Travel 日历 万年历 2020年1日历
2020-1-20 23:09:08
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程知识