阻塞IO(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还 ...
分类:
其他好文 时间:
2019-10-13 11:28:45
阅读次数:
78
一 gevent模块 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是 Greenlet , 它是以C扩展模块形式接入Python的轻量级协程。 Greenlet全部运行在主程序操作系统进程的内部,但它们被协作式地调度。 遇到IO阻塞时会 ...
分类:
其他好文 时间:
2019-10-13 11:27:43
阅读次数:
91
IO模型介绍 同步\异步and阻塞\非阻塞(重点) 同步: 异步: 阻塞: 非阻塞: 小结: 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案 ...
分类:
其他好文 时间:
2019-10-13 10:31:56
阅读次数:
63
网络编程——IO模型介绍 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞。 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non blocking)IO分别是什么,到底有什么区别?这个问题其实 ...
分类:
其他好文 时间:
2019-09-27 10:54:03
阅读次数:
76
开启进程的方式 开启子进程方式一 开启子进程方式一之多进程 开启子进程方式二 ...
分类:
系统相关 时间:
2019-09-16 16:05:03
阅读次数:
74
多线程编程 串行:一个完完整整执行完了再执行下一个 并发:看起来是同时运行的 并行:真正做到了同时运行 多道技术 空间复用:共用了一个内存条,每一个进程都有自己独立的内存空间,互不干扰,物理级别的隔离 时间复用:共用了一个cpu cpu切换 当进程IO时,占用时间过长也会切换 现代计算机 现代的主机 ...
分类:
编程语言 时间:
2019-09-11 16:18:40
阅读次数:
96
IO操作 同步和异步IO 阻塞和非阻塞IO 同步与异步(线程间调用) 阻塞与非阻塞(线程内调用) 同步与异步调用/线程/通信 四种组合方式 ...
分类:
其他好文 时间:
2019-09-07 10:29:28
阅读次数:
104
[TOC] 1. 阻塞与非阻塞 执行的角度: ? 阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起(如遇到io操作)。函数只有在得到结果之后才会将阻塞的线程激活。 ? 非阻塞:程序没有遇到IO阻塞,或者程序遇到IO,通过某种方式,让CPU强行运行程序。 2. 同步与异步 发布的角度: ? 同步调 ...
分类:
编程语言 时间:
2019-08-27 19:45:07
阅读次数:
140
原文: http://blog.gqylpy.com/gqy/236 " 目录 1.操作系统背景知识 2.什么是进程 3.进程调度 4.进程的并行与并发 5.同步异步阻塞非阻塞 6.进程的创建与结束 1.操作系统背景知识 顾名思义,进程即正在执行的一个过程,进程是对正在运行的程序的一个 ...
分类:
系统相关 时间:
2019-08-17 00:50:22
阅读次数:
101
阻塞,非阻塞,异步,同步与协程 1.阻塞,非阻塞 1.1进程或线程在运行中表现的状态: ①阻塞 ②运行 ③就绪 1.2阻塞: 进程或线程遇到IO阻塞. 程序遇到IO立马会停止(挂起), cpu马上切换,等到IO 结束之后,在执行. 1.3非阻塞: 进程或线程没有IO或者 遇到IO通过某种手段让cpu ...
分类:
其他好文 时间:
2019-08-09 19:37:47
阅读次数:
92