版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/78498458

gevent实现的协程是同步非阻塞还是异步非阻塞?

gevent是一个使用完全同步编程模型的可扩展的异步I/O框架。

IO是不是阻塞的和协程是没有关系的,python本来就能支持非阻塞IO
比如在linux只要用API,更改了文件描述符的属性就可以
协程是同步的,并不是异步的,gevent除了协程的支持还要有比如同步非阻塞IO才行。
nodejs的底层的实现支持异步非阻塞IO
协程只是改变了写东西的方式,其实实际的东西是没有太大变化的,单线程的代码还是会在单线程上跑,
不过配合非阻塞IO可以更好的做东西,golang的协程支持多线程

同步,异步概念

1.同步就是发生调用时,一定等待结果返回,整个调用才结束;

2.异步就是发生调用后,立即返回,不等待结果返回。被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用。

同步异步与阻塞,非阻塞区别

1.阻塞/非阻塞, 它们是程序在等待消息(无所谓同步或者异步)时的状态;

2.同步/异步,是程序获得关注消息通知的机制。

同步异步与阻塞,非阻塞组合

1.同步阻塞

效率最低(日志程序)。

2.同步非阻塞

效率也不高(需要轮询)。

3.异步阻塞

一般模式线程回调。

4.异步非阻塞

IOCP。

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:

(1)同步阻塞IO(Blocking IO):即传统的IO模型。

(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。

(3)IO多路复用(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。

(4)异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为异步非阻塞IO。

同步异步阻塞非阻塞杂记 1相关推荐

  1. 同步异步阻塞非阻塞杂记

    版权声明:本文可能为博主原创文章,若标明出处可随便转载. https://blog.csdn.net/Jailman/article/details/78498458 gevent实现的协程是同步非阻 ...

  2. 异步通知是什么意思_一次相亲经历,我彻底搞懂了阻塞非阻塞、同步异步

    看到标题,可能你会想,相亲跟阻塞/非阻塞,同步/异步有啥关系,这个逗b不知道在想什么东西.不要急,且听我慢慢道来 年纪大了,一回家七大姑八大姨就各种催婚,都说要给我介绍女朋友.这不,刚刚门口,我的大姨 ...

  3. 15分钟读懂进程线程、同步异步、阻塞非阻塞、并发并行,太实用了!

    作者:Martin cnblogs.com/mhq-martin/p/9035640.html 基本概念 1 进程和线程 进程(Process): 是Windows系统中的一个基本概念,它包含着一个运 ...

  4. 迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚的好文章(快快珍藏)...

    常规的误区 假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据. 如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTT ...

  5. 同步 异步 阻塞 非阻塞概念区分

    老张爱喝茶,废话不说,煮开水. 提前剧透一下:同步和非同步主要用来形容被调用线程,阻塞非阻塞用来形容主线程的. 出场人物:老张(主线程),水壶(被调用线程)两把(普通水壶,简称水壶:会响的水壶,简称响 ...

  6. 【面试】迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚的好文章(快快珍藏)...

    网上有很多讲同步/异步/阻塞/非阻塞/BIO/NIO/AIO的文章,但是都没有达到我的心里预期,于是自己写一篇出来. 常规的误区 假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数 ...

  7. Socket 同步/异步 与阻塞/非阻塞区别

    2019独角兽企业重金招聘Python工程师标准>>> 在网上看了很多答案,也没找到合适的,也许本文也不是合适答案:) 同步和异步关注的是消息通信机制,而阻塞非阻塞关注的是程序在等待 ...

  8. 异步同步、阻塞非阻塞、异步回调、线程队列和协程

    今天学习了异步同步.阻塞非阻塞.异步回调.线程队列和协程 一.异步同步和阻塞非阻塞 线程的三种状态: 1.就绪 2.运行 3.阻塞 阻塞:遇到了IO操作  代码卡住  无法执行下一行  CPU会切换到 ...

  9. NIO详解(二): BIO 浅谈 同步 异步与阻塞 非阻塞

    在我们了解Java NIO/BIO的网络通信之前,我们先了解一下常用的阻塞/非阻塞模型以及同步/异步的概念 一.阻塞和非阻塞 从简单的开始,我们以经典的读取文件的模型举例.(对操作系统而言,所有的输入 ...

  10. 异步/同步、阻塞/非阻塞的理解

    异步/同步.阻塞/非阻塞的理解 [同步和异步] 通俗的讲: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式.  异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个 ...

最新文章

  1. linux更改程序启动时间,分享|如何改善应用程序在 Linux 中的启动时间
  2. 算法训练 连续正整数的和 (枚举)
  3. restful api与传统api的区别(方式及语法)
  4. Nuget包制作最佳解决方案
  5. c++ enum 枚举类型
  6. POJ1279(求多边形内核的面积)
  7. 漏洞:WebRTC 泄漏用户IP
  8. 深搜--1-n的全排列
  9. 简述基于软件体系结构的软件开发过程
  10. java替换特殊字符_Java处理特殊字符替换(正则表达式)
  11. JAVA学习——GUI鼠标画图交互练习
  12. 编译原理 自下而上分析题型
  13. 计算机主页为什么打不开怎么办,电脑输入192.168.1.1管理页面打不开怎么办
  14. Python中常见的__init__.py是什么意思?详解Python import的方式和原理
  15. CPU,缓存,内存,外存全解析
  16. LeetCode 27 移除元素 题解
  17. 反馈线性化类有哪些最新发表的毕业论文呢?
  18. 蓝桥杯第九到十二届C/C++A组省赛填空题集 (很全)
  19. 童星养成系统的文推荐_几部养成系列的现言宠文推荐啦,都是不错的大叔文,十分治愈哦~...
  20. 免费空间python_10M/S!百度网盘偷偷更新,终于实现免费不限速了?!

热门文章

  1. Android Studio真机调试,数据库sqllite时,Multiple dex files define Landroid/support/v4/R 问题...
  2. JDBC第三篇--【事务、元数据、改造JDBC工具类】
  3. 100 计算机网络基础知识
  4. Mysql(8)_存储引擎之InnoDB
  5. (C/C++) Link List - C 語言版本
  6. 关于功能图标的绘制方法!
  7. 将“早期版本的Windows”改名
  8. 现代男人养生的10点忠告
  9. java开启注解扫描,详解Spring框架注解扫描开启之配置细节
  10. 用canvas画一个刮刮卡