问题标签 [usleep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
26513 浏览

php - PHP 的 sleep() 有什么实际用途?

我刚刚查看了sleep().

你会在哪里使用这个功能?

是否可以让 CPU 在昂贵的功能中休息一下?

有什么常见的陷阱吗?

0 投票
8 回答
25074 浏览

c - 在线程中休眠(C / POSIX 线程)

我正在开发一个使用POSIX Threads的多线程应用程序。我正在使用线程来执行定期工作,为此我正在使用usleep(3)来暂停线程执行。我的问题是如何从主线程取消 usleep() 计时器,我尝试过,pthread_kill(thread, SIGALRM)但它具有全局影响,导致主应用程序终止(默认情况下)。这是我的伪代码:

这是用于从主线程停止(并正常关闭)给定线程的伪函数:

实现我的目标的便捷方式是什么?我必须使用条件变量还是可以使用 sleep() 变体来做到这一点?

0 投票
0 回答
941 浏览

sqlite - Adobe Air SQLite 同步繁忙超时/SQLite 并发访问/避免繁忙循环

这是我在此的头一篇博文。我之所以问,是因为我没有线索,也找不到有关此特定问题的任何信息。

我的问题是:在 Adob​​e AIR 中,有没有办法进行同步 usleep() 等效(延迟执行 200 毫秒),或者有没有办法在某处指定 SQLite 繁忙超时?

我有一个 AIR 应用程序,它以同步模式使用数据库,因为代码无法处理 SQL 查询中的事件/回调需求。

有时从另一个应用程序访问数据库,因此它很忙。因此,语句的 execute() 会抛出 SQLerror 3119 detail 2206。在这种情况下,应在短暂延迟后重试该命令。

由于计算机上正在运行另一个应用程序,因此我想尽量避免忙于等待,但是由于三件事,我一直坚持使用它:

首先,我无法找到一种方法给 SQLConnection 一个繁忙的超时值,就像在 C 中可以使用函数 sqlite3_busy_timeout()

其次,我无法在 Adob​​e AIR / Actionscript 中找到与 C usleep() 命令等效的命令。

第三,我无法在这个位置使用事件/计时器/回调等。SQL execute() 必须是同步的,因为它是从应用程序中无数地方的深层嵌套类和函数调用的。

如果应用程序可以在执行 SQL 时处理事件/回调,那么无论如何我都会使用异步数据库,所以这个问题不能使用事件来解决。重试必须在最低级别完成,而不使用 AIR 事件处理工具。

最低级别的代码如下所示:

此函数的一个示例用法是:

此代码的输出类似于:

阅读:应用程序每秒循环超过 500 次。我想以某种方式将其减少到 5 个循环以减少等待时的 CPU 负载,因为该应用程序应在使用电池时在笔记本电脑上运行。

谢谢。

-蒂诺

0 投票
1 回答
263 浏览

c - 如何使应用程序对 clock_settime 有弹性

应用程序(在 linux 2.6.31 上运行)使用usleep调用来控制节奏。但是,它看起来对日期更改没有弹性(date从外壳使用或clock_settime从另一个进程使用)。避免应用程序被锁定的正确做法是什么?

编辑1

假设应用程序想要每 100 毫秒执行一次操作。当工作完成时,它调用gettimeofday,并推断剩余的ms休眠直到下一个100ms切片,然后它调用usleep。

0 投票
1 回答
969 浏览

perl - 虽然循环和睡眠

这是我的守护程序代码的一部分:

但问题是,有时打印写入文件仅在假设 10 秒后才写入文件。我知道为什么会发生这种情况,因为在 print 写入文件时循环不会等待,而是会进入一个新循环然后休眠。当 print 完成写入文件然后进入下一次迭代时,我该如何等待?

0 投票
1 回答
840 浏览

php - PHP 输出缓冲区基准(与 usleep 一起使用时微时间不准确?)

我发布了一个可以重现的奇怪行为(至少在 apache2+php5 上)。我不知道我是否做错了,但让我解释一下我试图实现的目标。

我需要发送大块的二进制数据(比如说 30)并在最后分析平均 Kbit/s:

我对每个块输出时间、每个块大小求和,最后执行我的 Kbit/s 计算。

在上面的这个例子中,它到目前为止工作(在 localhost 上,它通过不同的测试从​​ 7000 到 10000 Kbit/s 振荡)。

现在,假设我想调整传输,因为我知道客户端将有足够的数据块来处理一秒钟。

我决定使用 usleep(1000000) 来标记块传输之间的暂停。

在最后一个示例中,我不知道为什么,计算出的带宽可以从 72000 Kbit/s 跃升至 1,200,000,这完全不准确/无关紧要。部分问题是每次发送一个块时(在第一次睡眠之后),输出我的块所测量的时间非常低。

我做错了什么?缓冲区输出是否不同步?

0 投票
7 回答
84559 浏览

c++ - c++,usleep() 已过时,Windows/MingW 的解决方法?

我已经发现另一个问题是 Windows/MingW 没有提供 nanosleep() 和 setitimer() 替代过时的 usleep()。但我的目标是修复 cppcheck 给我的所有警告,包括 usleep() 样式的警告。

那么,是否有一种解决方法可以在不使用 cygwin 或安装大量新依赖项/库的情况下以某种方式避免 Windows 上的 usleep() ?谢谢。

0 投票
2 回答
438 浏览

c - 浮点数和睡眠问题

我正在编写具有那段代码的应用程序,其中 t->tick 是浮动的:

我发现usleep有错误?:

如何摆脱该错误?

0 投票
1 回答
1176 浏览

php - 使用 usleep() 限制 cURL

我正在使用网络服务发送 100 个 http 帖子。但是,该服务每秒只允许 5 个。我想知道 usleep 命令是否是最好的方法。例如:

0 投票
4 回答
1714 浏览

php - PHP 休眠以防止脚本超时

我有一个脚本可以加载大量目录列表,并且(本质上)需要永远加载。我现在在某些情况下遇到脚本超时并且很好奇我是否可以使用类似 usleep 的东西来防止脚本超时,或者我是否会让情况变得更糟?