异步就是回调 异步 = 非阻塞+循环 select只能完成IO多路复用,不能完成异步 IO多路复用 >监听多个socket对象,这个过程是同步的 利用其特性可以开发异步模块 异步IO:非阻塞的socket + IO多路复用 自定义异步框架 ...
分类:
其他好文 时间:
2019-02-04 08:58:19
阅读次数:
219
构造并发程序的三种基本方法 进程 用这种方法,每个逻辑控制流都是一个进程,由内核来调度维护.因为进程有独立的虚拟地址空间,想要和其他流通信,控制流必须使用某种显式的进程间通信机制. I/O多路复用 在这种形式的并发编程中,应用程序在一个进程的上下文中显式地调度它们自己的逻辑流.逻辑流被模型化为状态机 ...
分类:
其他好文 时间:
2019-02-02 17:37:22
阅读次数:
214
在前边介绍Socket和ServerSocket连接交互的过程中,读写都是阻塞的。套接字写数据时,数据先写入操作系统的缓存中,形成TCP或UDP的负载,作为套接字传输到目标端,当缓存大小不足时,线程会阻塞。套接字读数据时,如果操作系统缓存没有接收到信息,则读线程阻塞。线程阻塞情况下,就不能处理其他事 ...
分类:
编程语言 时间:
2019-02-01 21:07:10
阅读次数:
197
目录 4.6.1 背景概念 4.6.2 IO模型概念 4.6.2 IO模型分类 4.6.2.1 阻塞IO (blocking IO) 4.6.2.2 非阻塞IO (nonblocking IO) 4.6.2.3 多路复用IO (IO multiplexing) 4.6.2.4 异步IO(asynch ...
分类:
其他好文 时间:
2019-01-31 20:46:03
阅读次数:
219
聊聊同步、异步、阻塞与非阻塞聊聊Linux 五种IO模型聊聊IO多路复用之select、poll、epoll详解 ? 聊聊同步、异步、阻塞与非阻塞聊聊Linux 五种IO模型聊聊IO多路复用之select、poll、epoll详解 ? ...
分类:
系统相关 时间:
2019-01-24 13:10:15
阅读次数:
184
2.2.1 线程的使用 对于线程的理解,我认为是在操作系统对于进程的分工上与之对应的进程对于线程的分工,本质上都是分工。 为什么需要线程?在许多应用中同时发生着许多活动,将这些活动分解成单个模块会给程序设计带来巨大的便利,不止体现在效率与分工上。比如web服务器,一个称为分派程序(dispatche ...
分类:
编程语言 时间:
2019-01-21 17:11:30
阅读次数:
205
深入篇¶ 上节回顾:5种IO模型 | IO多路复用 and 万物互联之~网络编程加强篇 官方文档:https://docs.python.org/3/library/internet.html 1.概念回顾¶ 1.1.TCP三次握手¶ 画一张图来通俗化讲讲TCP三次握手: 用代码来说,大概过程就是: ...
分类:
其他好文 时间:
2019-01-17 22:36:45
阅读次数:
226
网络编程目录 1.网络编程基础 2.TCP与UDP协议 3.socket与 socketserver、黏包 4.线程与进程 5.线程锁 6.进程 7.协程与IO多路复用 8. 进程.线程.协程之间的区别? ...
分类:
其他好文 时间:
2019-01-17 21:21:31
阅读次数:
190
基础概念: 同步、异步、阻塞、非阻塞 同步 & 异步 同步与异步是针对多个事件(线程/进程)来说的。 如果事件A需要等待事件B的完成才能完成,这种串行执行机制可以说是同步的,这是一种可靠的任务序列,要么都成功,要么都失败。 如果事件B的执行不需要依赖事件A的完成结果,这种并行的执行机制可以说是异步的 ...
分类:
其他好文 时间:
2019-01-09 15:00:35
阅读次数:
204
原文:redis 系列19 客户端一. 概述 Redis服务器是可以与多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复。通过使用I/O多路复用技术实现的文件事件处理器,Redis服务器使用单进程单线程的方式来处理命令请求,并... ...
分类:
其他好文 时间:
2019-01-06 23:02:46
阅读次数:
252