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

免费网站申请注册步骤2016网站建设总结

免费网站申请注册步骤,2016网站建设总结,seo产品推广,简约创意logo图片大全阻塞/非阻塞、同步/异步 数据就绪 - 根据系统IO操作的就绪状态 阻塞 - 调用IO方法的线程进入阻塞状态(挂起) 非阻塞 - 不会改变线程的状态,通过返回值判断 数据读写 - 根据应用程序和内核的交互方式 同步 - 数据的读写需要应用层去读写 …

阻塞/非阻塞、同步/异步

数据就绪 - 根据系统IO操作的就绪状态

阻塞 - 调用IO方法的线程进入阻塞状态(挂起)

非阻塞 - 不会改变线程的状态,通过返回值判断

数据读写 - 根据应用程序和内核的交互方式

同步 - 数据的读写需要应用层去读写

异步 - 操作系统提供相应服务

阻塞/非阻塞都是同步IO,只用使用了特殊API才是异步IO;

五种IO模型

阻塞

调用者调用了某个函数,等待这个函数返回,期间什么也不做,不停的去检查这个函数有没有返回,必须等这个函数返回才能进行下一步动作。

非阻塞

非阻塞等待,每隔一段时间就去检测10事件是否就绪(代码轮询)。没有就绪就可以做其他事。非阻塞IO执行系统调用总是立即返回,不管事件是否已经发生,若事件没有发生,则返回-1,此时可以根据errno区分这两种情况,对于accept,recv和send,事件未发生时,errno通常被设置成EAGAIN。

IO复用

Linux用 select/pol/epol函数实现IO复用模型,这些函数也会使进程阻塞,但是和阻塞IO所不同的是这些函数以同时阻塞多个IO操作。而且可以同时对多个读操作、写操作的IO函数进行检测。直到有数据可读或可写时,才真正调用IO操作函数。

信号驱动

Linux 用套接口进行信号驱动IO,安装一个信号处理函数,进程继续运行并不阻塞,当IO事件就绪,进程收到SIGIO信号,然后处理IO事件

第一阶段是异步,第二阶段是同步,通过消息通知机制提高了效率;

异步IO

Linux中,可以调用 aio_read 函数告诉内核描述字缓冲区指针和缓冲区的大小、文件偏移及通知的方式,然后立即返回,当内核将数据拷贝到缓冲区后,再通知应用程序。

Web服务器简介及HTTP协议

一个Web Server就是一个服务器软件,或者运行这个服务器软件的硬件。主要功能是通过HTTP协议与客户端(浏览器)进行通信,接收、存储、处理来自客户端的HTTP请求;

通常用户使用 Web 浏览器与相应服务器进行通信。在浏览器中键入"域名”或P地址:端口号”,浏览器则先将你的域名解析成相应的 P 地址或者直接根据你的IP地址向对应的 Web 服务器发送一个 HTTP 请求。这一过程首先要通过TCP 协议的三次握手建立与目标 Web 服务器的连接,然后 HTTP 协议生成针对目标 Web 服务的 HTTP 请求报文,通过 TCP、IP 等协议发送到目标 Web 服务器上。

HTTP协议(应用层的协议)

超文本传输协议 (Hypertext Transfer Protocol,HTTP) 是一个简单的请求-响应协议,它通常运行在TCP 之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以 ASCI I形式给出;而消息内容则具有一个类似 MIME 的格式。HTTP是万维网的数据通信的基础。(默认端口80)

请求响应步骤

1. 客户端连接Web服务器

2. 发送HTTP请求

3. 服务器接受请求并返回HTTP响应

4. 释放TCP连接

5. 客户端浏览器解析HTML内容

HTTP请求格式

请求方法:GET\HEAD\POST\PUT\DELETE\TRACE\OPTIONS\CONNECT;

HTTP响应格式

服务器编程基本框架和两种高效的事件处理模式

服务器编程基本框架

IO处理单元 - 处理客户连接、读写网络数据

逻辑单元 - 业务进程或线程

网络存储单元 - 数据库、五年间或缓存

请求队列 - 各单元之间的通信方式

两种高效的事件处理模式

服务器程序通常需要处理三类事件:IO事件、信号、定时事件;

两种高效的处理模式

同步IO模式 - Reactor模式

异步IO模式 - Practor模式

Reactor模式

Proactor模式

模拟Proactor模式(项目采用的方法)

  

线程同步机制类封装及线程池实现

线程池 - 防止无休止的创建/销毁线程

线程池中的线程数最直接的限制因素是CPU的处理器数量;CPU密集型任务最好等于核,IO密集型任务一般多余CPU核心数;不至于在线程处理IO过程中造成CPU空闲,导致浪费;

为什么使用线程池

1. 空间换时间,通过硬件资源换取运行效率;

2. 这组资源在服务器启动之初就完全创建初始化 - 静态资源;

3. 可以直接从池中拿,无需资源动态分配;

4. 处理完一个客户连接后,将相关资源放池中,无需系统调用释放资源;

http://www.15wanjia.com/news/174917.html

相关文章:

  • 做期货浏览哪些网站wordpress 输出分类
  • 想建设个网站苏州网站搜索引擎优化
  • 怎么查网站空间在哪里天猫开店流程及费用2022
  • 如何免费制作自己的网站站长查询seo是什么意思
  • 移动网站开发的视频下载哪个网站专业做安防
  • 东莞人才市场招聘会2个网站 同意内容 百度优化
  • 网站定位分析是什么平邑哪里有做网站的
  • 拍卖行 网站建设wordpress怎么备份数据库结构
  • 电商公司网站建设财务核算电商网站开发平台
  • 上海崇明网站建设游戏工作室怎么开
  • 对网站开发与管理的分析中国万网域名注册官网
  • asp新闻发布网站模板低价网站建设公司
  • 国外设计网站pinterest极速版安阳县陈佳
  • 商城网站建设基础设计宁夏建设监理协会网站
  • 中山建站公司学做美食交流网站
  • 做网站运营需要具备什么能力修改wordpress 2m
  • jsp网站架构网站广告策划
  • 网站开发准备工作餐厅网站建设什么
  • 怎么样免费建设网站wordpress flytag
  • 企业电子商务网站建设的重要性wordpress表单微信
  • 高端网站改版顾问公司网络组建工作方案
  • 横岗做网站中国教育培训网
  • 网站开发女生网页网站建设的ppt模板下载
  • 做推送实用网站网站自助建站
  • 猪八戒网站建设公司南宁百度seo放心选择
  • 比价网站开发卡片式设计 网站
  • 心悦俱乐部官方网站怎么做任务竞价托管魏大帅
  • 网站首页模版上海招聘信息最新招聘2021
  • 网站默认图片龙岗网站设计资讯
  • 网站优化连云港哪家强?网址缩短