码迷,mamicode.com
首页 > 其他好文 > 详细

libev学习笔记

时间:2018-01-18 20:34:20      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:gpo   select   调度   线程调度   容器   blog   ocp   线程   描述   

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

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

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

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

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

libev学习笔记

标签:gpo   select   调度   线程调度   容器   blog   ocp   线程   描述   

原文地址:https://www.cnblogs.com/heluan/p/8312729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!