libev学习笔记

Posted _浪潮之巅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了libev学习笔记相关的知识,希望对你有一定的参考价值。

libev最大的特点是采用了轮询文件描述符(select,poll,epoll,iocp,kqueue)的方式来代替线程调度和切换,省去了线程切换,效率很高。

用小顶堆而不是链表来管理定时器,有以下优势:

1、容器中的元素实现有序排列(当然链表也能做有序排列,但性能不行,参见后面几点),这样在轮询时只需要检查前几个元素,而不需要遍历所有元素。

2、小顶堆的操作,无论是插入,还是删除,时间复杂度都在O(1)~O(logN)之间。有序链表,删除的时间复杂度为O(1),但插入的时间复杂度为O(N/2)。

  所以综合来看,小顶堆的效率大幅优于链表。

以上是关于libev学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

libevent学习笔记 —— 第一个程序:计时器

libev学习笔记

libevent学习笔记 —— 牛刀小试:简易的响应式服务器

libevent的入门学习-库的安装

libuv学习笔记

python学习笔记——拾壹