https://blog.csdn.net/baixiaoshi/article/details/48708347 https://blog.csdn.net/z69183787/article/details/52943917 select,poll,epoll都是IO多路复用的机制。所谓I/O多 ...
分类:
其他好文 时间:
2019-05-07 19:57:44
阅读次数:
180
Linux网络编程——多路复用之epoll ? epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合 ...
分类:
系统相关 时间:
2019-05-02 23:08:57
阅读次数:
198
前言 同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;而异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数。 阻塞和非阻塞的概念描述的是用户线程调用内核IO操作的 ...
分类:
其他好文 时间:
2019-05-01 18:52:47
阅读次数:
325
1、概述 select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负 ...
分类:
系统相关 时间:
2019-05-01 14:56:40
阅读次数:
158
讨论Linux环境下的network IO。 一、概念说明 1、内核态(内核空间)和用户态(用户空间)的区别和联系? 用户空间是用户进程所在的内存区域,系统空间是操作系统所在的内存区域。 为了保证内核的安全,处于用户态的程序只能访问用户空间,而处于内核态的程序可以访问用户空间和内核空间。 2、文件描 ...
分类:
系统相关 时间:
2019-04-28 18:57:13
阅读次数:
183
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 ...
分类:
编程语言 时间:
2019-04-27 00:20:55
阅读次数:
178
# -*- coding:utf-8 -*- import socket import select class testserver(): def __init__(self): self.serversocket = socket.socket(socket.AF_INET, socket.SO... ...
分类:
编程语言 时间:
2019-04-24 19:23:58
阅读次数:
152
前言 Redis 提供了 5 种数据结构。理解每种数据结构的特点,对于 Redis 的 开发运维 非常重要,同时掌握 Redis 的 单线程命令处理 机制,会使 数据结构 和 命令 的选择事半功倍。 接下来的几篇文章,将从如下几个方面介绍 Redis 的几种数据结构,命令使用及其应用场景。 预备知识 ...
分类:
其他好文 时间:
2019-04-24 16:05:28
阅读次数:
145
在开始了解Netty是什么之前,我们先来回顾一下,如果我们需要实现一个客户端与服务端通信的程序,使用传统的IO编程,应该如何来实现? IO编程 我们简化下场景:客户端每隔两秒发送一个带有时间戳的"hello world"给服务端,服务端收到之后打印。 为了方便演示,下面例子中,服务端和客户端各一个类 ...
分类:
Web程序 时间:
2019-04-23 17:29:30
阅读次数:
213
1,epoll 原理: https://blog.csdn.net/hdutigerkin/article/details/7517390 https://blog.csdn.net/linkedin_38454662/article/details/73337208 2, ...
分类:
其他好文 时间:
2019-04-23 15:52:59
阅读次数:
115