This question already has answers here:
Execute code every 30 sec
                                
                                    (4个答案)
                                
                        
                        
                            Print message every x seconds [duplicate]
                                
                                    (3个答案)
                                
                        
                                6年前关闭。
            
                    
我在C中的计时器有问题。我必须每3秒调用一次函数(例如,每3秒放下Hello world!)。它不能等待调用函数。我在玩游戏,因此将使用函数来生成随机坐标,但是我必须能够移动玩家。

有什么提示吗?

最佳答案

如果您处于Linux环境中,则可以考虑以下内容:

void hello_word_func(int signum)
{
    printf ("Hello World!\n");
    signal (SIGALRM, hello_word_func);
    alarm (3);
}

signal (SIGALRM, hello_word_func);
alarm (3);


另一个选择会占用您更多的CPU资源(忙碌等待),是产生一个新线程,并发出一个循环,输出“ Hello World”并休眠3秒钟。

10-08 04:15