问题标签 [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.
c - 在线程中休眠(C / POSIX 线程)
我正在开发一个使用POSIX Threads的多线程应用程序。我正在使用线程来执行定期工作,为此我正在使用usleep(3)来暂停线程执行。我的问题是如何从主线程取消 usleep() 计时器,我尝试过,pthread_kill(thread, SIGALRM)
但它具有全局影响,导致主应用程序终止(默认情况下)。这是我的伪代码:
这是用于从主线程停止(并正常关闭)给定线程的伪函数:
实现我的目标的便捷方式是什么?我必须使用条件变量还是可以使用 sleep() 变体来做到这一点?
sqlite - Adobe Air SQLite 同步繁忙超时/SQLite 并发访问/避免繁忙循环
这是我在此的头一篇博文。我之所以问,是因为我没有线索,也找不到有关此特定问题的任何信息。
我的问题是:在 Adobe AIR 中,有没有办法进行同步 usleep() 等效(延迟执行 200 毫秒),或者有没有办法在某处指定 SQLite 繁忙超时?
我有一个 AIR 应用程序,它以同步模式使用数据库,因为代码无法处理 SQL 查询中的事件/回调需求。
有时从另一个应用程序访问数据库,因此它很忙。因此,语句的 execute() 会抛出 SQLerror 3119 detail 2206。在这种情况下,应在短暂延迟后重试该命令。
由于计算机上正在运行另一个应用程序,因此我想尽量避免忙于等待,但是由于三件事,我一直坚持使用它:
首先,我无法找到一种方法给 SQLConnection 一个繁忙的超时值,就像在 C 中可以使用函数 sqlite3_busy_timeout()
其次,我无法在 Adobe AIR / Actionscript 中找到与 C usleep() 命令等效的命令。
第三,我无法在这个位置使用事件/计时器/回调等。SQL execute() 必须是同步的,因为它是从应用程序中无数地方的深层嵌套类和函数调用的。
如果应用程序可以在执行 SQL 时处理事件/回调,那么无论如何我都会使用异步数据库,所以这个问题不能使用事件来解决。重试必须在最低级别完成,而不使用 AIR 事件处理工具。
最低级别的代码如下所示:
此函数的一个示例用法是:
此代码的输出类似于:
阅读:应用程序每秒循环超过 500 次。我想以某种方式将其减少到 5 个循环以减少等待时的 CPU 负载,因为该应用程序应在使用电池时在笔记本电脑上运行。
谢谢。
-蒂诺
c - 如何使应用程序对 clock_settime 有弹性
应用程序(在 linux 2.6.31 上运行)使用usleep
调用来控制节奏。但是,它看起来对日期更改没有弹性(date
从外壳使用或clock_settime
从另一个进程使用)。避免应用程序被锁定的正确做法是什么?
编辑1
假设应用程序想要每 100 毫秒执行一次操作。当工作完成时,它调用gettimeofday,并推断剩余的ms休眠直到下一个100ms切片,然后它调用usleep。
perl - 虽然循环和睡眠
这是我的守护程序代码的一部分:
但问题是,有时打印写入文件仅在假设 10 秒后才写入文件。我知道为什么会发生这种情况,因为在 print 写入文件时循环不会等待,而是会进入一个新循环然后休眠。当 print 完成写入文件然后进入下一次迭代时,我该如何等待?
php - PHP 输出缓冲区基准(与 usleep 一起使用时微时间不准确?)
我发布了一个可以重现的奇怪行为(至少在 apache2+php5 上)。我不知道我是否做错了,但让我解释一下我试图实现的目标。
我需要发送大块的二进制数据(比如说 30)并在最后分析平均 Kbit/s:
我对每个块输出时间、每个块大小求和,最后执行我的 Kbit/s 计算。
在上面的这个例子中,它到目前为止工作(在 localhost 上,它通过不同的测试从 7000 到 10000 Kbit/s 振荡)。
现在,假设我想调整传输,因为我知道客户端将有足够的数据块来处理一秒钟。
我决定使用 usleep(1000000) 来标记块传输之间的暂停。
在最后一个示例中,我不知道为什么,计算出的带宽可以从 72000 Kbit/s 跃升至 1,200,000,这完全不准确/无关紧要。部分问题是每次发送一个块时(在第一次睡眠之后),输出我的块所测量的时间非常低。
我做错了什么?缓冲区输出是否不同步?
c++ - c++,usleep() 已过时,Windows/MingW 的解决方法?
我已经发现另一个问题是 Windows/MingW 没有提供 nanosleep() 和 setitimer() 替代过时的 usleep()。但我的目标是修复 cppcheck 给我的所有警告,包括 usleep() 样式的警告。
那么,是否有一种解决方法可以在不使用 cygwin 或安装大量新依赖项/库的情况下以某种方式避免 Windows 上的 usleep() ?谢谢。
c - 浮点数和睡眠问题
我正在编写具有那段代码的应用程序,其中 t->tick 是浮动的:
我发现usleep有错误?:
如何摆脱该错误?
php - 使用 usleep() 限制 cURL
我正在使用网络服务发送 100 个 http 帖子。但是,该服务每秒只允许 5 个。我想知道 usleep 命令是否是最好的方法。例如:
php - PHP 休眠以防止脚本超时
我有一个脚本可以加载大量目录列表,并且(本质上)需要永远加载。我现在在某些情况下遇到脚本超时并且很好奇我是否可以使用类似 usleep 的东西来防止脚本超时,或者我是否会让情况变得更糟?