越来越感觉我是入错行了……看过无数篇讲解IO多路复用的文章,大抵分为两种:0.一开始就抛出几个抽象的概念,然后一顿讲解;1.举几个特别生动的例子,很好理解,但是回到现实,还是不懂什么叫多路复用有没有从具象到抽象的讲解(一定要先具象到实际应用中,毕竟一个复杂的系统或协议,不论内部实现多么抽象,最开始也是要基于具体的实际需求来设计吧)。就拿redis来说,现有两个顺序执行的incrby命令(假设每个命令内部都有3个IO操作:A,B,C),下面哪种猜测更接近实际情况?还是说都是在扯淡。0.每个命令的执行,通过调度其内部的IO操作,尽量减少系统资源闲置的时间,从而最终使命令更快地执行,比如这里的IO顺序可能是:A1,C1,B1,A2,C2,B2;1.在执行当前命令的时候,提前执行了下一个命令的部分IO操作,比如第一个incrby的A操作刚被执行完,然后立刻去执行第二个incrby的A操作(如果这样做可以更快的话),那么此时的IO顺序可以是:A1,A2,B1,B2,C1,C2
慕少森
相关分类