- 博客(3)
- 资源 (3)
- 收藏
- 关注
原创 c语言最小堆的实现-优先队列
libevent 中有定时事件的管理,用户可以把超时的定时事件插入到 管理器中,当时间到了之后触发用户的回调函数处理; 查看了源码发现,定时器的数据结构其实是由最小堆来实现的。 优先队列为完全二叉树,所以在插入调整的时间复杂度为 O(N),弹出的复杂度为O(1);
2017-02-25 15:07:48 3373
原创 c语言双向循环链表实现-使用内核链表
一、前言Linux内核链表作为内核最基础最常用的数据结构,那么在咱们用户态的编程下是否可以借鉴?二、相关知识1、双向循环链表如图所示,每个节点分别有前驱(prev)、后继(next)两个指针域,双链表支持两个方向的遍历,循环则指尾节点又可以重新指向到头节点;2、内核链表的实现(以3.10.25为例)2.1 头节点定义(linux-3.10.25/include/linux/list.h)struc...
2017-02-25 09:51:47 1124
原创 c语言线程池的简单实现
在某种CPU密集型的应用场景中,处理计算任务耗时较多(如图像处理),考虑多核CPU的优势,若能把计算分担到多个线程中处理则能有效利用CPU; 但是,若过开启过多的线程,线程创建销毁、线程间切换所带来的开销也不容小觑;所以,本文设计线程池对任务进行处理,即所有待处理的任务集中在队列里头,N个线程轮流去取队列进行计算;
2017-02-06 22:19:34 1564
Android自定义摇杆实现蓝牙控制小车
2015-05-17
Android创建Service后台常驻服务并使用Broadcast通信
2015-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人