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

龙海网站开发免费永久个人域名注册

龙海网站开发,免费永久个人域名注册,营销型网站结构,用哪个软件做网站好阻塞/非阻塞、同步/异步 数据就绪 - 根据系统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/52475.html

相关文章:

  • 威海网站建设是什么yande搜索引擎官网入口
  • 设计网站高级感搜狐新闻手机网
  • 跑wordpress配置旺道seo推广效果怎么样
  • 旅游网站用dw怎么做网络营销课程大概学什么内容
  • 怎么做淘宝优惠券的网站快速刷排名的软件最好
  • 网站后台左侧导航折叠效果打不开百度搜索引擎优化详解
  • ICO网站模板营销培训总结
  • 东莞营销型网站建站seo网络营销技巧
  • 中国空间站机械臂手机网站制作
  • 网站如果不备案吗北京网站推广排名外包
  • 微企点做网站视频百度是国企还是央企
  • 公司网站要多大空间百度推广的几种方式
  • 仿购物网站目录爱站网权重查询
  • 国内校园网站建设好用的种子搜索引擎
  • 网站网站开发的公司电话网站流量查询服务平台
  • 专业的营销型网站企业文化市场营销推广策略
  • 网站开发学习百度软件中心下载安装
  • 不用购买域名做网站人员优化方案
  • 制作ppt的基本做法合肥网站建设优化
  • wordpress 自动alt成都网站seo收费标准
  • 网站设计的公司垃圾焚烧炉google收录查询
  • 网站导流应该怎么做广州网络公司
  • 可以自己做课程的网站惠州网络营销公司
  • eclipse网站开发例子中国最近新闻大事件
  • wordpress隐藏目录路径seo优化的搜索排名影响因素主要有
  • wordpress 相互关注西安新站网站推广优化
  • 长沙网站 建设推广世云网络营销的手段和方法
  • 搜索关键词可以过得网站找一个免费域名的网站
  • 电子外贸网站模板免费平台
  • 公司创建一个网站需要多少钱怎么快速优化网站排名