IO多路复用之select篇
前言
在Linux
系统下,select()
为最早支持IO多路复用的系统调用。该接口相比poll()
、epoll()
来说,更为简单,但是效率较低,而且最大只支持FD_SETSIZE
(1024)个描述符。如果对并发数量的要求高于1024,请考虑使用poll()
或者epoll()
。
在Linux
系统下,select()
为最早支持IO多路复用的系统调用。该接口相比poll()
、epoll()
来说,更为简单,但是效率较低,而且最大只支持FD_SETSIZE
(1024)个描述符。如果对并发数量的要求高于1024,请考虑使用poll()
或者epoll()
。
在联网的Linux
环境上安装PostgreSQL
、PostGIS
,可能就是几句命令的事儿,相关的依赖可以自动安装,但是在离线的环境下安装,需要先编译安装各个依赖。
本文以麒麟服务器4.0.2
为测试环境,离线编译安装PostgreSQL 12.2
和PostGIS 3.0.5
。有联网的环境,安装方法请参考其他教程。
因为工作中开发以C++为主,python不太常用,所以每次学过之后,很快就忘记了。
写这篇博客的目的,是为了记录python的基本语法,每当用到的时候可以速查。
当然这篇不是python的入门教程,更偏向于python与C++之间的差异。
Reactor
为Douglas C. Schmidt
提出的一种设计模式,翻译为反应器模式,或者分发器模式。很多开源的项目都使用了此设计模式,如muduo
、Redis
、Nginx
、Netty
。
本文假定读者有一定的C/C++的网络编程经验,并且对IO多路复用有一定的了解,如select
、poll
、epoll
等函数。
本文主要面向对Reactor
有一定了解,但是并不知道C++类应该如何设计的读者。