zoukankan      html  css  js  c++  java
  • IO类型

    我的内容来自于《马哥Linux2016最新高薪运维视频课程-Nginx应用基础及配置详解》
    httpd:MPM
    prefork,worker,event
    prefork:主进程,生成多个子进程,每个子进程处理一个请求;
    worker:主进程,生成多个子进程,每个子进程再生成多个线程,每个线程响应一个请求
    event:主进程,生成多个子进程,每个子进程响应多个请求
     
    I/O类型:
    同步I/O和异步I/O:synchronous,asynchronous
    关注的是被调用者的消息通知机制
    同步I/O:调用发出之后结果不会立即返回,但一旦返回,则返回既是最终结果
    异步I/O:调用发出之后,被调用方立即返回消息,但返回的并不是最终结果;被调用方完成任务后会通过状态、通知机制等来通知调用者,或者通过回调函数来处理结果
     
    阻塞I/O和非阻塞I/O:block,nonblock
    关注的是调用者等待被调用者返回调用结果时的状态
    阻塞:调用结果返回之前,调用者会被挂起,调用者只有在得到返回结果之后才能继续
    非阻塞:调用者在结果返回之前,不会被挂起,即调用不会阻塞调用者
     
    I/O模型:
    blocking I/O:阻塞式I/O
    nonblocking I/O:非阻塞式I/O
    I/O multiplexing:复用型I/O 阻塞型,是阻塞在内核的代理上;当在内核代理上阻塞时,其调用者是没有阻塞的,可以发送请求
    signal driven I/0:事件驱动式I/O 一个进程可以对应多个请求
    asynchronous I/O:异步I/O 性能得到了极大提高
     
    例如:在磁盘上做一次read操作
    一个进程向磁盘发起一次请求后,会先通知内核,内核再把磁盘的数据加载到内核内存,再从内核内存把数据拷贝一份到进程内存中;真正执行I/O过程的阶段为内核把数据拷贝给进程内存的操作
    (1)等待数据准备好,从磁盘到内核内存
    (2)从内核内存复制到进程内存
     
  • 相关阅读:
    mac 鼓捣php 多版本切换
    thinkPHP 导出excel 发布正式环境net::ERR_INVALID_RESPONSE
    js 计时显示 倒着 正者 都行
    LNMP 下 php.ini 文件修改后不生效
    Jquery 遍历数组之$().each方法与$.each()方法介绍
    js 去掉字符串最后一个逗号
    js拼接字符串时,字符串首出现undefined的问题
    PHP 暂停函数 sleep() 与 usleep() 的区别
    在IDEA里创建web项目,以及web 项目部署
    spring容器和springmvc容器,以及web容器的关系
  • 原文地址:https://www.cnblogs.com/jianchen013/p/10819694.html
Copyright © 2011-2022 走看看