zoukankan      html  css  js  c++  java
  • 定时器的使用

    每个进程里可以使用一个定时器。

    1. 用alarm函数实现定时器。

                  alarm函数说明:

                  alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds为0,则之前设置的闹钟   会被取消,并将剩下的时间返回。
                返回值: 返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。

    一个简单的例子:

    2.   用setitimer

                 setitimer函数说明:

                     函数原型:int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);

                    参数:第一个参数which指定定时器类型(下面三种之一);第二个参数是结构itimerval的一个实例;第三个参数可不做处理。

                    setitimer支持定时器类型

                        ITIMER_REAL : 以系统真实的时间来计算,它送出SIGALRM信号。
                        ITIMER_VIRTUAL : -以该进程在用户态下花费的时间来计算,它送出SIGVTALRM信号。
                        ITIMER_PROF : 以该进程在用户态下和内核态下所费的时间来计算,它送出SIGPROF信号。

                         struct itimerval {
                            struct timeval it_interval; /* next value */
                            struct timeval it_value;    /* current value */
                            };

                         it_value设置本次定时的时间,it_interval设置以后定时的时间。

    下面是关于setitimer调用的一个简单示范:

  • 相关阅读:
    ==和equals的区别
    layui渲染Select列表
    layui中使用自定义数据格式对数据表格进行渲染
    java中使用javaMail工具类发送邮件
    上手spring boot项目(三)之spring boot整合mybatis进行增删改查
    上手spring boot项目(四)之springboot如何返回json数据
    遍历json数据的几种方式
    springboot整合thymleaf模板引擎
    上手spring boot项目(二)之spring boot整合shiro安全框架
    上手spring boot项目(一)之如何在controller类中返回到页面
  • 原文地址:https://www.cnblogs.com/bo083/p/2152791.html
Copyright © 2011-2022 走看看