C中的Sleep()函数不能在hp不间断地工作

Posted

技术标签:

【中文标题】C中的Sleep()函数不能在hp不间断地工作【英文标题】:Sleep() function in C not working on hp non-stop 【发布时间】:2021-11-18 09:15:11 【问题描述】:

我在 hp-nonstop(tandem) 上尝试 C 语言, 作为一部分,我的任务是等待某个时间。

我尝试使用

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main()

   int i;
   for(i=0;i<10;i++)
   
     printf("Something");
     sleep(5);
     printf("Something");
     fflush(stdout);
    
 

编译没有问题,

在运行时它给出 ABENDED: 每次不同的编号。

【问题讨论】:

您是否获得了特定的 ABEND 代码/额外信息? sleep() 总是成功,所以没有失败返回。 当遇到阻止此功能成功完成的任何故障时,将生成异常结束。 support.novell.com/techcenter/articles/ana19950604.html 我认为您需要提供更多细节,否则任何人都无法说出为什么会发生“ABnormal END”。 我已经添加了代码,我正在尝试并且异常结束。你能告诉我你还需要什么信息吗? @alinsoar 【参考方案1】:

从监护环境调用sleep() 的结果未定义。这可能会导致您提到的 ABEND。如果您想在监护人 hp-nonstop 环境中等待一段时间,您应该致电DELAY()。它需要厘秒作为参数。所以如果你想增加 5 秒的延迟,你应该把它称为DELAY (500)。您还需要包含标题#include&lt;cextdecs(DELAY)&gt;

【讨论】:

非常感谢@pras 它正在工作 更正了如果你想要延迟 5 秒,函数应该被称为 DELAY(500) 而不是 DELAY(5)

以上是关于C中的Sleep()函数不能在hp不间断地工作的主要内容,如果未能解决你的问题,请参考以下文章

当 sleep() 不能很好地与警报一起工作时,我还能做啥“睡眠”?

Windows API 中的不间断线程部分

Thread.sleep() 不工作。被跳过的操作

为啥子查询解决方法中的这个 ORDER BY 不能始终如一地工作?

Bootstrap Dropdowns 与 Rails 4 间断工作

为啥 Sleep() 函数会阻止整个循环工作?