跟老男孩学Linux运维:核心基础篇(上)(第2版)
作者:冉宏元(老男孩)
出版社:机械工业出版社
ISBN:9787111632511
VIP会员免费
(仅需0.8元/天)
¥ 65.0
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
大规模定时器\linux下多定时器的实现(经典) 评分:
时空管理是计算机系统的主要任务。在时间管理中,我们经常利用定时器处理事情:比如tcp协议中利用定时器管理包超时,视频显示中利用定时器来定时显示视频帧,web服务中利用定时器来管理用户的超时。windows系统提供了SetTimer和timeSetEvent等定时器接口,linux中则提供了setitimer等接口。这些函数的接口很类似,大体上都是用户提供回调函数和超时时间向OS注册一个定时器事件,OS在超时时间到了的时候,调用用户提供的回调函数来完成用户想要做的事情。windows下的接口支持单进程中拥有多个定时器,而linux则只允许单进程拥有一个定时器,因此在linux下的单进程中要使用多个定时器,则需要自己维护管理,这是本文写作的出发点。另外,OS提供的定时器管理算法在大规模定时器的管理方面可能还不尽人意,这时候就需要用户去优化管理算法了,本文在这方面提供了一点素材。
上传时间:2011-02 大小:184KB
- 3KB
【Linux】C-C++ 一种简单易用的高效定时器实现.rar
2020-01-05一种基于条件变量的超时机制实现的较高精度又简单的定时器,经过实际测试验证可行。之所以利用条件变量的超时机制,是为了满足可以随时打断及时的需求,同时又不需要轮询的去查,在等待的过程中,线程处于阻塞休眠状态,所以也不消耗 CPU 资源。(信号量也可以) 该机制主要可以应用在一些要求可以随时取消和修改计时时间的场景,例如收到某条启动指令之后需要启动设备,当超过多长时间没有收到指令时就需要停止设备。优点吧,实现简单,精度较高,好用,不消耗 CPU 资源,支持单次和重复触发,并且各个定时器独立计时和执行,不影响其他定时器。缺点吧,就是有点耗内存了,启动 100 个定时器,就有 100 个线程(指的是100个定时器都没有超时)。 基本上可以满足大部分场景,如果比较庞大的系统需要上百个定时器计时,这种实现方式就不合适了,建议采用多级链表来实现,并且需要考虑定时器与定时器之间影响。
- 5KB
linux下多定时器+线程池的实现(经典)
2013-01-11// //linux只允许单进程拥有一个定时器,因此在linux下的单进程中要使用多个定时器,则需要自己维护管理 // //这个实现允许用户使用多个自定义的定时器,每个自定义的定时器将周期地被触发直到其被删除。实现的主要思路是: // // i)首先在初始化多定时器(init_mul_timer)时利用setitimer注册一个基本的时间单位(如1s)的定时事件; // // ii)用户需要set_a_timer注册自定义定时器时,在timer_manage管理结构中记录这个定时器的回调函数和定时周期等参数; // // iii)当基本的时间单位到期后(如SIGALRM信号到达时),遍历整个timer_manage,如果有自定义定时器的超时时间到了, //就把该回调函数添加到线程池的任务中,让线程池里面的线程去执行,然后将自定义定时器的超时时间置为最初值0; // // iv)用户通过del_a_timer来删除某个定时器,通 过destroy_mul_timer来删除整个多定时器。
- 2KB
linux下的多定时器实现
2010-08-25文件列表:timer.h,timer.c 功能:实现了linux下的多定时器,采用双向链表来维护定时器列表,用户可利用其中的接口来创建定时器,并注册超时回调函数。时钟计时采用select系统调用来实现。
- 2KB
linux 多线程安全定时器
2017-08-16timerfd的定时器和epoll监听 比较通用 里面有makefile 直接编译即可
- 1KB
linux多定时器多线程
2018-12-07Linux中通过多线程多定时器来完成不同的任务;Linux中通过多线程多定时器来完成不同的任务;
- 3KB
linux下自定义定时器的实现
2017-08-29linux下实现应用层的定时器的创建,开启,支持调用系统消息开启定时器
- 66KB
Linux下一种高性能定时器池的实现
2013-04-12本文提出一种linux用户空间下的一种高性能定时器池的实现方法,实现主要基于时间轮和红黑树,以及linux内核提供了一种利于管理的定时器句柄timerfd。结合红黑树、位图、时间轮等技术,设计一种高性能级定时器池,池...
- 20KB
Linux下C语言 定时器
2015-09-23linux 下使用红黑树实现的多线程定时器, 定时回调对应的回调函数,定时单位为毫秒。
- 173KB
Linux下实时定时器的实现及应用
2010-02-07比较详细的linux下定时器的实现和应用文档
- 260KB
Linux下实时定时器的实现及应用.PDF
2019-08-24Linux下实时定时器的实现及应用.PDF
- 2.49MB
一个定时器实现多个虚拟定时器具体代码实现
2018-03-23一个定时器实现多个虚拟定时器具体代码实现
- 5KB
我写的Linux版Timer定时器(源码),可在多线程间使用
2020-12-16我写的Linux版Timer定时器(源码),可在多线程间使用 Linux没有Timer,QT的timer又不支持多线程,是线程间不安全的 于是我自己写了个Linux下的Timer类
- 2KB
linux下的多定时器,采用链表来维护定时器list,可利用其中的接口来创建定时器,并注册超时callback。计时采用select系统调用来实现。
2018-03-15实现linux下c语言定时回调,简单易懂,有中文注释。适合新手在不适用库函数下使用和学习。
- 37KB
linux设置一个定时器
2016-10-29linux设置一个定时器
- 1KB
linux线程实现定时器源码
2017-02-24linux线程实现定时器源码
- 2KB
linux下软件定时器的实现
2009-11-13可实现Linux下毫秒级的软件定时,但依赖于系统HZ数,如 HZ=100,最小定时为10ms HZ=1000,最小定时才是1ms 理论上可以实现若干个定时器,依赖于系统性能 设计了两种定时方式 STIMER_CYCLE:循环周期定时;STIMER_ONCE:单次...
- 34KB
高手编程笔记 如何在Linux下实现定时器
2009-09-14如何在Linux下实现定时器 如何在Linux下实现定时器 如何在Linux下实现定时器 如何在Linux下实现定时器 如何在Linux下实现定时器
- 1.49MB
Linux中定时器的算法实现
2012-10-28详细描述了Linux下的定时器的原理,实现
- 38KB
在Linux操作系统下实现定时器简介
2020-03-04在Linux实现一个定时器,不像Win32下那样直观。在Win32调用SetTimer就行了,在Linux下则没有相应函数可以直接调用。定时器作为一个常用的功能,在Linux当然也有相应实现。本文介绍几种常用的方法。
- 546B
linux下的C语言开发(定时器)
2018-03-29linux下的C语言开发(定时器) 定时器是我们需要经常处理的一种资源。那linux下面的定时器又是怎么一回事呢?其实,在linux里面有一种进程中信息传递的方法,那就是信号。这里的定时器就相当于系统每隔一段时间给...
- 1.79MB
timesetevent和QueryPerformanceFrequency定时器
2012-02-26timesetevent和QueryPerformanceFrequency 作为定时器的比较,实现了这2个函数的定时功能,并显示各自的定时时间
- 67KB
Linux使用一个定时器实现设置任意数量定时器功能
2020-09-15本例子是为了实现使用Linux下的一个定时器,实现任一数量的定时器功能。对linux使用一个定时器设置任意数量定时器的实现代码感兴趣的朋友一起学习吧
- 19KB
linux下定时器实现
2016-01-29以最小堆、红黑树、时间轮三种方式实现定时器,时间轮效率最高,非常具有参考价值!
- 8KB
timerpoll:一个 cc++ 版本的简单易用的时间 定时器
2021-06-12epoll定时器 这是一个简单易用的epoll定时器。 使用说明 这里仅显示核心代码,线程相关的暂时不考虑了。 DEMO_LOG(0); timer timer1(3.05, (void* )callback, (void *) "hello 1", 0); timer timer2(4.10, (void* )callback, (void *) "hello 2", 0); DEMO_LOG(0); my_timers.timers_poll_add_timer(&timer1); DEMO_LOG(0); my_timers.timers_poll_add_timer(&timer2); DEMO_LOG(0); sleep(5); DEMO_LOG(0); t(39) = 1429103486 t(43) = 1429103486 t(45) = 1429103486 t(47)
- 461KB
定时器 setitimer & epoll
2010-03-02定时器 setitimer & epoll 资料
- 1KB
Linux设备驱动之定时器
2009-09-29Linux设备驱动之定时器 Linux设备驱动之定时器 Linux设备驱动之定时器 Linux设备驱动之定时器
- 0B
Linux下posix线程实现的定时器
2006-06-15Linux应用层的简单易用的定时器,用posix线程库实现。
- 24KB
C#多线程实现定时器
2013-07-15C#多线程实现定时器
- 13KB
linux 内核定时器的使用
2011-12-13主要是对linux内核中的定时器的使用编写的一个例子,代码中包括timer.c和makefile文件,还有一些已经编译的文件,其中有个timer.ko文件就是内核模块文件,在终端使用 insmod timer.ko就可以插入到linux内核(要与...