Linux下延时一定时间,又不挂起程序。

news2025/7/27 19:17:10

0.前言

        这是一个解决篇Linux C语言怎么实现通过socket发送一秒数据,上次想要实现做一秒的事情没有写出来,这次解决掉。先推荐一部电影《猩球崛起》三部曲。


1.Linux下的sleep函数。

        这个函数的确可以起到延时的作用,但是他会把整个进程挂起,所以不能实现我的效果。

2.定时想要的时间

        最近看了一个,虽然不是多准确,上篇博客就说了,但是也算有个实现的小途径。

        先看下效果。


        原理很简单,获取当前系统时间,减去第一次获取时间,一秒后停止。

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include <time.h>
#include <unistd.h>

int main(void)
{
    time_t nowtime;
    time(&nowtime);
    printf("now time is %s\t\n",ctime(&nowtime));
    while(1)
    {
        time_t lasttime;
        time(&lasttime);
        if(lasttime-nowtime==1)
        {

            printf("last time is %s\t\n",ctime(&lasttime));
            printf("1s is!\t\n");
            break;
        }
    }
}

        这样我们就可以利用这个时间差做我们想做的事情。

3.不足

        时间不精确,至于多不精确,俺也不知道。你看这个现象,我定一个变量自增一秒。

         这差距吓人。所以,只适合粗略的时间定时。


4.总结

        继续学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS8替代盘点

常用的替代选项 国外替代 Rocky Linux AlmaLinux Oracle Linux UEK内核 CentOS Stream 国产替代 Anolis OS TencentOS Server(桌面版无法迁移) openEuler OpenCloudOS 宝塔面板 推荐 Rocky/Alma/Oracle linux 8 持保守态度 Centos 8 Stream Anolis&#xff08;Centos 8 Stream…

L1和L2正则化的三种不同角度的理解

观看B站视频后写的笔记&#xff0c;链接 降低模型复杂度>正则化>减小模型参数个数 0. 前言 正则化是一个专有名词&#xff0c;和正则表达式中的正则没有任何关系。L1和L2正则化就是用L1范数和L2范数来规范模型参数的这么一种方法&#xff0c;Dropout也叫正则化&#x…

[附源码]SSM计算机毕业设计中小型便民药店管理论文JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Linux17 --- 消息队列

一、IPC进程间通信&#xff1a;消息队列 消息队列是在两个进程之间传递二进制块数据的一种简单有效的方式。每个数据块都有一个特定的类型&#xff0c;接收方可以根据类型来有选择地接收数据&#xff0c;而不一定像管道和命名管道那样必须以先进先出的方式接收数据。 Linux消…

BootStrap响应式项目实战之世界杯网页设计

BootStrap实战 目标 响应式布局复习 HTML5的复习 CSS3的复习 了解BootStrap 一.复习 响应式布局&#xff1a;页面可以随着设备的变化而动态改变。 ​ 淘宝&#xff1a;pc端一套页面&#xff1a;不能随着屏幕的缩小而变化&#xff1b; ​ 移动端&#xff1a;另外一套页面&am…

Java中的::

今天在练习SpringBoot的时候&#xff0c;看到了以下这种写法&#xff1a; //实体类&#xff1a; Data public class Book {private Integer id;private String type;private String name;private String description; }//测试类 //实现功能&#xff1a;关键字查询 Test void t…

PCB设计---深入浅出的反弹图

作者&#xff1a;一博科技高速先生成员 孙小兵 众所周知&#xff0c;信号的反射与互连线的阻抗密切相关&#xff0c;可以说互连线中阻抗突变是产生信号反射的最直接原因。但究竟为什么会发生反射&#xff0c;反射对信号的影响是什么样的&#xff0c;信号反射的过程又是如何呢&…

MySql死锁

MySql死锁产生的原因?[面试7.0] 高并发情况下,事务之间对资源的访问顺序交替会导致死锁 加锁失败且出现环时触发死锁 事务1事务2begin;select *from testlock where id1 for update;begin;select *from testlock where id2 for update;select *from testlock where id2 for…

安卓系统的启动

Init.rc启动 创建和挂在启动所需的文件目录初始化和启动属性服务解析init.rc配置文件并启动Ztgote进程 Zygote进程 创建一个Server端的Socket预加载类和资源启动SystemServer进程等待AMS请求创建新的应用程序进程 SystemServer进程 启动Binder线程池&#xff0c;这样就可以…

环保数采仪 VOCs|污染源|水质污染源|烟气排放在线监测

计讯物联环保数采仪&#xff0c;丰富接口&#xff0c;符合环保行业规约标准&#xff0c;具备采集、无线传输、控制、告警等功能&#xff0c;广泛应用于Vocs在线监测、水污染大气污染远程监测、烟气排放在线监控等场景&#xff0c;数据全方位多角度实时采集、自动上报、远程在线…

汽车倒车防碰撞报警系统的设计

目 录 1 绪论 1 1.1 背景 1 1.2 国外研究情况 1 1.3 超声波测距的优势 2 2 基本原理 3 2.1 超声波简介 3 2.2 超声波基本特性 4 2.3 超声波模块简介 5 2.4 超声波传感器原理 6 2.5 超声波的测距原理 6 3 总体方案 8 4 硬件实现 9 4.1 电路 9 4.1.1 主控制最小系统电路 10 4.1.…

面试24K字节测试开发岗被血虐,到底具有怎样的技术才算高级水平?

前几天我朋友跟我吐苦水&#xff0c;这波面试又把他打击到了&#xff0c;做了6年软件测试。。。 下面这条招聘是在腾讯招聘官网截图下来的&#xff0c;首先我们对高级水平下一个定义吧&#xff0c;那它应该是对标这个职级该有的能力 什么样的工程师才能算高级&#xff1f;至少…

《数据库的原理与应用》--用两种方法实现S-T数据库创建

一、实验目的 复习数据库的定义&#xff0c;用两种方法实现S-T数据库创建&#xff1b;用两种方法创建数据库表&#xff0c;最后为数据库中的三个表增加数据&#xff1b;分离数据库和备份数据库。数据库表为&#xff1a; 学生表&#xff1a;Student(Sno,Sname,Ssex,Sage,Sdept…

Django ORM 多表操作:一对一、一对多、多对多的增删改,基于对象/双下划线的跨表查询

Django model ORM数据表相关操作 分析思路&#xff0c;创建数据表 对于表操作&#xff0c;表之间的关联关系&#xff0c;必须理解他们之间的关系&#xff0c;对于编程很重要。可以看看映射关系、外键和relationship查询 &#xff0c;至少明白外键相关基本知识。 &#xff08…

App Languages 批量导入管理Android多语言文案

AppLanguages支持安卓的多语言文案管理啦&#xff0c;支持批量的检测&#xff0c;批量导入&#xff0c;批量删除&#xff0c;批量替换&#xff0c;批量导出。 操作界面 批量导入 1&#xff09;需要选择res文件夹的路径&#xff0c;方便创建和寻找本地的多语言文件 2&#xff…

ui界面的介绍

创建一个项目时默认选择带有ui界面&#xff0c;ui界面的作用是方便设计者设计功能。 ui界面常见的功能&#xff1a; 方便对象的创建&#xff0c;拖入到窗口中即可方便布局&#xff0c;可以直接使用布局对控件进行修饰方便制作信号&#xff0c;通过转到槽的机制&#xff0c;快速…

Cesium 入门(一)无服务 Cesium 环境

Cesium 入门&#xff08;一&#xff09;无服务环境 一、无服务环境下的 Cesium 无网络环境下的静态 cesium 地图服务&#xff0c;cesium 1.98.1 已经支持无 token 情况下的地图显示&#xff0c;默认 token 可用来展示 3d 地图&#xff0c;老版本 cesium&#xff0c;需自行前往…

Golang入门笔记(15)—— 数组

编程的世界中&#xff0c;或许是因为一次一次的定义变量&#xff0c;维护管理起来都太费劲了&#xff0c;所以推出了数组&#xff0c;将数据用数组的形式管理起来。 参考代码&#xff1a; package mainimport "fmt"func main() {var scores [5]intscores[0] 90sco…

RabbitMQ基础

文章目录一. Hello World二. Work Queues三. 消息应答1. 自动应答2. 手动应答3. 批量应答4. 消息自动重新入队四. 持久化1. 实现队列持久化2. 实现消息持久化五. 消息不公平分发1. 配置不公平分发2. 预取值六. 发布确认1. 发布确认原理2. 开启发布确认3. 单个发布确认4. 批量发…

DOM介绍及DOM获取元素的方式

1、DOM介绍 DOM&#xff08;Document Object Model&#xff09;&#xff1a;文档对象模型其实就是操作html中的标签的一些能力我们可以操作哪些内容○ 获取一个元素 ○ 移除一个元素 ○ 创建一个元素 ○ 向页面里面添加一个元素 ○ 给元素绑定一些事件 ○ 获取元素的属性 ○ …