VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 902|回复: 5

如何设置定时器

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-23 13:00:01 | 显示全部楼层 |阅读模式
如何设置一个超时器,在任务执行过程中如果执行时间超过此时间,则任务执行失败,请问各位老大该怎样解决!
    非常感谢!
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-5-5 16:45:01 | 显示全部楼层
alarm(some time);

捕捉SIGALRM
回复

使用道具 举报

0

主题

78

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2020-5-8 18:45:01 | 显示全部楼层
SetTimer(/*时间*/);

时间到了,触发 OnTime 函数,
这里完成退出就是了 。。。。。。。。。。。。
回复

使用道具 举报

1

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-9 13:45:01 | 显示全部楼层
补充楼上所说的!
#include <setjmp.h>
#define TIMEOUT 5
static jmp_buf env;
static void sig_timeout( int sig )
{
        longjmp( env, 1 );
}
main()
{
        int num;
        signal( SIGALRM, sig_timeout );
        if( setjmp( env ) != 0 )
        {
                printf("Time out!!\n");
                exit( -1 );
        }
        printf("please input a num!!\n");
        alarm( TIMEOUT );
        scanf("%d",&num);
        alarm( 0 );
        printf("u enter a num in time!!\nexit !!\n");
}
回复

使用道具 举报

1

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-9 15:45:01 | 显示全部楼层
#include <signal.h>
#include <stdio.h>
回复

使用道具 举报

0

主题

8

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-6-14 11:25:32 | 显示全部楼层
微信zhu299有空玩玩c
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表