一文详谈Linux中的时间管理和定时器编程

article/2025/6/28 19:05:43

(目录)

先说一些在计算机中需要用到时间的地方:系统日志log、OS调度(时间片、定时器)等等~~

时间的计量

计时的方式发展:日晷、沙漏 -> 机械钟 -> 石英振荡器、晶振 -> 铯原子钟 -> 氢原子钟

计算机中的计时方式:

51单片机:晶振

嵌入式系统:定时器

PC:定时器

实时时钟:独立电源(CMOS电池、手机晶振)

Linux系统中的时间管理

定时器 + 实时时钟

计算机启动之后,Linux内核会先在实时时钟中读取时间,保存到内核中的全局变量xtime(墙上时间)中;jiffies:内核中的全局变量,系统启动以来的节拍数。

C语言获取当前时间

typedef long time_t;
time_t t = time(NULL); // 获得当前时间,UTC时间,1979年1月1日0点开始,以秒为单位
stime(&t);             // 设置时间

时间格式的转化

#include <stdio.h>
#include <time.h>
int main(void)
{time t t=time(NULL);printf("%ld\n",t);struct tm *p;p=localtime(&t);printf ("%d-%d-%d "p->tm year +1900,p->tm mon +1,p->tm mday);printf("%d:%d:%d\n",p->tm hour, p->tm_min, p->tm_sec);p = gmtime(&t);printf ("%d-%d-%d ",p->tm year +1900,p->tm mon +1,p->tm mday);printf("%d:%d:%d\n",p->tm hour,p->tm min,p->tm sec);return 0;
}

这里p指向的struct tm类型的变量在静态内存(库内部)。 

安全替代方案

为解决线程安全和重入问题,Linux 提供了:

  1. localtime_r(可重入版本)
    1. struct tm result;
      localtime_r(&time_val, &result); // 结果存储到用户提供的 `result` 中
    2. 线程安全,因为每个线程使用独立的内存。

    3. 用户需自行管理存储位置(如栈或堆)。

将时间转化为字符串

 

#include <stdio.h>
#include <time.h>
int main(void)
{time t t= time(NULL);printf("%ld\n",t);char *str = NULL;str =ctime(&t);printf("%s\n",str);struct tm *p;p = gmtime(&t);printf("%d-%d-%d ".,p->tm year + 1900,p->tm mon + 1,p->tm mday);printf("%d:%d:%d\n",p->tm hour, p->tm_min, p->tm_sec);str = asctime(p);printf("%s",str);return 0;
}

用户指定格式字符串

 

获得高精度时间

微秒

纳秒

Linux中的定时器

alarm

alarm(3) : 3秒之后,向该进程发送SIGALRM信号。

 interval timer

设置的时间到达后,会重置;alarm只有一次。

POSIX timer


http://www.hkcw.cn/article/JcyEFTcIGu.shtml

相关文章

88岁谢贤现身公园游玩 风采依旧

5月27日,媒体拍摄到88岁的演艺圈“常青树”谢贤外出逛公园。他坐着轮椅出行,由两位菲佣保姆细心照料。镜头下的谢贤状态不佳,身体状况明显不如从前,即使拄着拐杖也只能缓慢行走一小段路,且需要搀扶。尽管如此,四哥的帅气依旧不减当年。他戴着一顶黑色棒球帽,这个习惯多年…

泰一幼儿园发生食物中毒事件 数百学生受影响

当地时间5月29日,泰国乌隆他尼府一所幼儿园发生集体食物中毒事件,数百名学生出现呕吐、腹部绞痛、腹泻等症状。截至目前,已有超过200名学生出现食物中毒症状,其中88人住院治疗,3人病情严重。责任编辑:zx0001

吴宣仪回应刘宇粉丝 舞台合作我做主

《浪姐6》的舞台从来不缺话题,这次吴宣仪邀请刘宇作为助阵嘉宾,却意外引发粉丝争议。部分粉丝在社交平台表达不满,认为两人的风格不搭,甚至担心会影响吴宣仪的表现。面对质疑,吴宣仪直接回应:“朋友来助阵应该热烈欢迎,别把个人情绪强加到我身上。”这句话瞬间点燃讨论,…

被保姆拐走33年的男婴结婚了 命运的重逢

2018年初,重庆的朱晓娟接到一个电话,询问她26年前是否丢过一个儿子。朱晓娟肯定地回答“是”,并告诉对方丢失的儿子已经被公安机关找回,现在早已长大成人。随后,记者给她发了一张照片,照片上的小孩与朱晓娟的小儿子特别像。这勾起了朱晓娟对1992年的回忆。当时,她和丈夫…

xQueueSendFromISR使用

建议&#xff1a; 在99%的应用中&#xff0c;应该始终使用标准模式&#xff1a; BaseType_t xHigherPriorityTaskWoken pdFALSE; xQueueSendFromISR(..., &xHigherPriorityTaskWoken); portYIELD_FROM_ISR(xHigherPriorityTaskWoken);

46岁卡车司机在高原缺氧去世 高原司机的宿命

常志荣,一个来自河南安阳的46岁卡车司机,在青藏线上不幸离世,成为热议话题。大家在微信群里转发新闻,感慨万千,仿佛在说:这就是高原司机的宿命。他成了人们口中的新故事,尽管结局悲惨。青藏线高海拔、缺氧,稍有不慎就可能送命。常志荣知道这一点,但为了养活六个孩子,…

六一演出观众席C位老师独自打伞 个人行为引争议

5月30日,贵州黔西一段“某学校六一文艺演出”的视频在网络上引发关注。视频中,坐在观众席第一排中央位置的一位女士独自打伞,而周围的人群均未撑伞,这一行为显得格外显眼。拍摄者指责该老师素质差,称多次请她放低伞但没有得到回应,打伞不仅影响了后排观众的视线,还干扰了…

余承东称尊界带汽车链高端化 华为技术引领未来

昨天,余承东在尊界S800发布会上提出了“尊界是中国汽车高端化开端”的口号,这一宣言令人振奋。面对全球超豪华市场的挑战与机遇,尊界展现出多方面的优势。技术方面,尊界采用了华为第二代途灵平台,支持L3智驾,并首创了5D蟹行模式,后轮转向角度可达16度,还具备芯片级加密…

男子骚扰服务员未果后打人 店员反击获赞

近日,网传视频显示,在湖北襄阳的一家烤肉店门口,一名女店员正在招揽生意时,路过的一名男子伸手摸向她的腰部,导致她缩了下身子。随后,女店员与该男子理论,过程中另一名店员介入,但男子转身离开后又返回,并对女店员动手,两人扭打在一起,男子还扇了女店员一巴掌。此时…

浪姐助阵嘉宾 梦幻联动舞台效果拉满

#吴宣仪浪姐助阵嘉宾综艺#家人们谁懂!吴宣仪浪姐助阵嘉宾定了,居然是刘宇!当年同系列选秀出道,这次梦幻联动,舞台效果直接拉满,坐等播出!#乘风2025#责任编辑:zx0001

大V:李在明大概率会当选韩国总统 提前投票显积极

韩国新一届总统选举定于6月3日举行。当地时间29日早上,选举提前投票开始举行。提前投票将持续两天,选民可以在韩国各地共3568个投票站中的任意一个进行投票,每天的投票时间为6时至18时。提前投出的选票将按照选民居住登记地点被送到韩国各地,在6月3日正式投票结束后共同参与…

【灵动Mini-F5265-OB】SPI驱动ST7735LCD屏

前言我驱动了OLED屏&#xff0c;但是他也有局限&#xff0c;显示的内容较少&#xff0c;不能显示彩色。这篇跟大家分享如何使用硬件SPI驱动LCD屏。 【硬件环境】 1、灵动Mini-F5265-OB 开发板 2、ST7735LCD屏 【连接方式】 1 GND GND2 3.3V VCC 3 PA5 SCL 4 P…

袁一琦将暂停所有工作 粉丝呼吁专业团队支持

7月5日之后,袁一琦将在长沙演唱会后暂停所有工作。这一消息在社交平台发布后迅速引发粉丝震动,许多人将矛头指向经纪公司丝芭传媒,要求其立即为袁一琦配备专业团队并提供足够资源,避免她的事业停滞。袁一琦作为SNH48的“00后”代表,从16岁入团时的边缘站位到2023-2024年连…

高校保卫处招硕士研究生 校方回应 非保安岗位需专业技术

近日,有教育机构发布信息称,扬州大学计划在2025年招聘人事代理工作人员。其中,学校保卫处需要招聘一名从事校园消防安全与应急管理工作的人员,该岗位的学历要求为硕士研究生。扬州大学信息公开网显示,这则招聘信息由学校人力资源处于5月28日发布,确实包含了保卫处的相关岗…

王楚钦称外在问题都是还不够强大 反思内在原因

5月30日,国乒奥运冠军王楚钦接受了央视《面对面》专访,回顾了巴黎奥运会期间的一段经历。当时他的球拍在混双决赛夺冠后被摄影记者踩断,导致他在接下来的男单1/16决赛中使用备用拍,最终爆冷输给了瑞典选手莫雷加德。对于这一事件,王楚钦表示自己需要更加小心,可以将球拍放…

陈梦加盟《全员加速中》 明星阵容引期待

陈梦正忙着录制《全员加速中》,这是一个特别的真人秀挑战节目,邀请了黄晓明、TFBOYS、贾乃亮等众多明星参与。她对这次邀请感到非常开心,前几天还在自己的账号上发帖请求网友们帮忙拍摄数字密码,得到了许多积极回应,气氛十分热烈。现在的陈梦变得越来越漂亮,穿衣风格也更…

围棋少年坠亡 其父首面对镜头发声 父亲深陷悲痛与争议

5月27日,41岁的朱某林在福建省泉州市晋江市的家中难以入睡。他时而趴在床上,时而侧身或平躺着,但无论如何就是睡不着。他告诉红星新闻:“说实话,真睡不着。一闭上眼睛,就是孩子叫‘爸爸’的声音。”这一天,他的屁股几乎从未离开床铺,床上床单凌乱,枕边是几瓶只喝了一小…

Python uv包管理工具使用详解

一、UV 工具概述 ​UV​ 是由 Astral 团队&#xff08;Ruff 工具开发者&#xff09;用 Rust 编写的新一代 Python 包管理器&#xff0c;旨在替代传统工具链&#xff08;如 pip、virtualenv、poetry 等&#xff09;&#xff0c;提供以下核心优势 &#xff1a; ​极速性能​&a…

30V/3A,云岑CP8335B,完美替换EUP3484

1 FEATURES ● Wide Input Voltage Range: 6V ~ 30V ● Low RDS(ON) for Internal Switches (Top/Bottom): 90mΩ/65 mΩ ● 3A output current capability ● 500kHz Switching Frequency Minimize the External Components ● Internal 1.5-ms Soft-Start ● 0.6V/0.8V/0.925…

Baklib内容中台AI赋能智能服务升级

AI驱动服务智能升级 通过智能语义解析与上下文意图识别技术的深度融合&#xff0c;Baklib内容中台实现了服务流程的智能化跃迁。基于自然语言处理&#xff08;NLP&#xff09;算法&#xff0c;系统能够自动拆解用户输入的复杂语义&#xff0c;精准识别隐性需求与交互场景&…