我是靠谱客的博主 清新镜子,最近开发中收集的这篇文章主要介绍2021-04-25,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

posix 的时钟使用

 为了在系统休眠时,能进行唤醒,采用的时钟是CLOCK_REALTIME_ALARM的clockid,采用timer_create时,发现fail to timer create.采用系统内核的时钟却可以成功,

clock_gettime(CLOCK_REALTIME_ALARM, &time);也可以成功。

采用线程的通知的方式

下面贴一下部分代码:

头文件有:

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <errno.h>

#include <unistd.h>

#include <signal.h>

void aaa(union sigval v)

{

    struct timespec time = {0,0};

    clock_gettime(CLOCK_REALTIME_ALARM, &time);

    printf("CLOCK_REALTIME_ALARM sec = %d, nsec = %dn", (int)time.tv_sec, (int)time.tv_nsec);

}

int main(int argc, char *argv[])    

timer_t timer_id;

    struct sigevent evp;

    int ret;

    memset(&evp, 0, sizeof(struct sigevent));

    evp.sigev_value.sival_int = 111;       

    evp.sigev_notify = SIGEV_THREAD;        

    evp.sigev_notify_function = aaa;  

    if(timer_create(CLOCK_REALTIME_ALARM, &evp, &timer_id) == -1)

    {

        error("fail to timer_create");

}

还未找到原因,先记录一下。唉

最后

以上就是清新镜子为你收集整理的2021-04-25的全部内容,希望文章能够帮你解决2021-04-25所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部