• 几个常见中间件(服务器)所采用的并发模型


    redis  单进程单线程

    nginx 多进程单线程

    memcached 单进程多线程

    几个模型各有优势、都有其适用的场景,但最终保证高性能都用到了Linux底层的epoll机制和事件驱动IO

    补充下几个概念的关系:

    单进程:一个时间段只能执行一个进程,例如,要听歌就写不了文档

    多进程:一个时间段能同时执行多个进程,例如,终于能同时听歌写文档了

    多线程:让一个进程能同时执行一段代码的技术,用起来感觉类似于多进程,但区别在于线程与线程间共享资源,所以比多进程节省了系统资源,例如,一个浏览器可以同时打开两个网页。

    并发:一个“时间段”有多个程序同时执行,多线程并发和多进程并发应该都算并发,你可以说多进程和多线程是一种技术,并发是一种状态。

    并行:可以说是微观上的并发或者真正的并发,就是某一个“时刻”有多个程序同时执行,也是一种状态。

    同步:一个函数调用在没结束前原来的函数啥都不能做,是一种目的。

    异步:一个函数调用后,原来的函数继续干自己的事情,等那个函数干完后,借助某种手段通知原来的函数执行结果。也是一种目的,一般是通过多线程技术去实现,例:js在遇到ajax时异步调用这个方法,浏览器新建一个线程去处理ajax的事情,js继续干自己的事情,等ajax拿到数据后浏览器将它丢到一个等待队列里面,js干完自己那些不宜中断的事情后就去查询那个队列里面有结果了没,有就拿出来。

    摘自  https://www.cnblogs.com/lxwphp/p/7736615.html

  • 相关阅读:
    黄聪:Visual Studio快速封装字段方法
    黄聪:在vs2008中设置jquery智能提示
    黄聪:Linq初级班 Linq to DataSet体验(单表、多表联合查询JOIN语法)
    mysql分区
    为什么使用框架
    阅读杂记(RSA,PDO)
    Golang之继承模拟
    php中$_REQUEST一个注意点
    记录mysql性能查询过程
    知识杂记
  • 原文地址:https://www.cnblogs.com/lyhero11/p/9967314.html
Copyright © 2020-2023  润新知