问题标签 [busy-waiting]

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 投票
0 回答
300 浏览

java - 忙循环时使用 Thread.yield() 是不好的做法吗?

在执行任何读/写操作之前,我有一个线程忙于循环,直到我的ServerSocket对象绑定到端口。

Thread.yield()在busy-loop中使用过让其他线程在这个线程循环时运行(如果有的话),但是javadocThread.yield()

很少使用这种方法。它对于调试或测试目的可能很有用,它可能有助于重现由于竞争条件导致的错误。

现在,我这里没有竞争条件,我只需要等到套接字被绑定,并且由于套接字被绑定时没有回调,所以我坚持使用这种方法。有什么建议吗?

0 投票
1 回答
294 浏览

python - Python/Flask/JS - 显示等待屏幕并在等待 5 秒后继续

我是 Flask 的超级新手,我正在尝试用 Flask 在 python 中构建一个小应用程序......

我想显示一个等待屏幕,然后在 5 秒后,继续到下一页。问题是,我不知道在没有按钮的情况下我应该把这个“动作”放在哪里。就像我现在拥有的那样,我编写的 python 代码似乎没有效果。

我的代码如下:

我有一个waiting_screen.html

下一页confirm_upload.html在 url /first-page-info-check 处调用,我有以下 flask/python 代码:

我知道我将action="/first-page-info-check"at 放在代码中的多个位置,不应该这样做,但我只是还不明白在没有表单时应该如何放置动作..

希望可以有人帮帮我 :)

0 投票
2 回答
111 浏览

python - 可中断睡眠?

我目前正在构建一个 python 应用程序,它应该在用户输入的给定时间戳(不是按时间顺序输入)触发函数。
我遇到了一个问题,因为我不希望我的程序忙于等待检查是否输入了必须添加到计时器队列的新时间戳,但也不希望每次新时间戳都创建一大堆线程以等待该时间戳的单一目的进行创建。
我想到的是将它们放在一个线程中并执行可中断睡眠之类的操作,但除此之外我想不出另一种方法:

这本质上是忙于等待。那么关于实现可中断睡眠的任何建议?

0 投票
1 回答
218 浏览

c - 多线程:生产者-消费者问题中的忙等待

此代码通过参数生成给定数字范围内的数字并使用它。

但是生产者会产生一个超出范围的数字,如果它符合条件则不会加入。消费者也是。

例如,当我给出 0~39(total_item = 500)、buff 大小 30(max_buf_size)、num_workers 5、num_master 3 之类的数字范围时,它不会仅产生和消耗 0~39 的数字。

它生产和消费超过 40 个数字。

0 投票
0 回答
70 浏览

process - 内核中是否有有效的忙等待方法?

假设一个进程正在等待某个其他进程持有的锁。它要么自旋锁(忙等待)要么进入睡眠状态,当锁被释放时被唤醒。如果等待时间太长,最好还是睡觉,因为会占用太多资源。如果等待时间较短,则首选自旋锁,以避免睡眠和唤醒的开销。现在,通常进程本身决定是自旋锁还是休眠。但是有没有办法从操作系统做出这个决定?

所以,问题是,操作系统是否有一种技术可以知道进程何时等待锁定,如果有,操作系统本身决定使用的任何有效技术(从锁定的等待时间可能是多长时间)已发布)是否允许进程忙等待,或让进程休眠?

0 投票
1 回答
95 浏览

operating-system - 严格交替如何保证有限等待?

严格交替如何保证有限等待?如果有两个进程 P⁰ 和 P¹。假设 turn=0 但 P⁰ 不想进入 CS。P¹想要。它不会导致饥饿,那么如何保证有限的等待?

0 投票
1 回答
269 浏览

time - Google Colab - 已完成但仍在运行?

我有一个大数据集(我正在尝试运行。该单元尚未生成输出;但是,它当前显示“已在 [时间] 完成”。该单元似乎仍在运行,并且消息显示“正在等待python 3 到 Compute Engine 后端。

有谁知道细胞是否超时?我应该重新运行,还是应该保持原样?

0 投票
0 回答
39 浏览

c - Penalty_具有多个时间窗的容量车辆路径问题

简单的介绍:

LKH-3 是 Lin-Kernighan 旅行商启发式算法的一个实现。目标是构建能够解决以下问题类型的 LKH-3 版本:

CVRPMTW:具有多个时间窗的容量车辆路径问题

检查:评论说“如何增加等待时间”

我需要做什么:

输出等待时间(最早)以及我们在哪个节点面临等待时间


示例以清晰理解:

|--------|____________________|--------|

等待 | 时间窗口节点 N | 惩罚

0 投票
0 回答
74 浏览

python - 如何避免python无关进程之间的忙等待

我有两个 python 不相关的子进程,我的等待方法类似于以下内容

读取消息方法是从 mmap 共享内存中读取消息然后删除消息

我可以改进它,以免忙着等待吗?如果有帮助,我已经使用 subprocess 模块创建了我的其他 python 进程

0 投票
0 回答
360 浏览

installation - 每次打开对话框时,Microsoft Visual Studio 2019 “服务器忙”。Devenv.exe 出现 textservice.dll 错误

每次我打开一个对话框时,Microsoft Visual Studio 2019 都会显示一个“服务器忙”对话框。

对 devenv.exe 的 Procmon 搜索找到以下文件的至少 100 个 NO SUCH FILE 条目:

Procman 结果

我执行了搜索,因为我遵循@Blaise 对这个问题的 OP 的建议:https ://stackoverflow.com/a/39026817/969431

所以现在我找到了有问题的文件,你能给我什么建议来解决这个问题?

更新:

所以我用谷歌搜索了路径和文件名,发现了这个 SO 问题:Visual Studio 2017 Enterprise installation stands

我尝试了@Techrocket9 建议的解决方案,在文件夹中放置了一个空的 TRN 文件。

现在包含 Dummy.trn 的文件夹

然后我再次启动 Visual Studio 并尝试编辑解决方案的发布设置(这会调用模式对话框),并且与往常一样,大约五秒钟后,我得到相同的“服务器忙”对话框:

服务器忙对话框

我回到 Procmon,NO SUCH FILE 问题消失了,但我决定将剩余的 devenv.exe 条目过滤到那些不成功或没有更多文件的条目(这似乎无害)。这是我留下的:

剩余的 Procman 条目

有没有人知道基于此信息可能导致我的服务器忙问题的原因?

更新 2

在多次尝试通过 Microsoft 重新安装和解决问题后:https ://developercommunity.visualstudio.com/t/com-returned-an-unexpected-error-code-details-are/1422343?from=email&viewtype=all ,我清除了我的事件查看器应用程序日志并隔离了所有内容。结果是我发现了这个错误信息。Devenv.exe 似乎与我的语音识别软件 Nuance Dragon NaturallySpeaking 15 冲突。由于这是一个可访问性问题,微软是否有机会对此采取措施?我能做些什么?

更新 3:

所以事实证明,这个问题是 Visual Studio 2019 和 Nuance Dragon Professional Group 15 之间的某种冲突。我现在正在与 Microsoft 和 Nuance 一起解决这个问题。如果这影响了除我之外的任何人,您可以在此处关注后续进展:https ://developercommunity.visualstudio.com/t/microsoft-visual-studio-2019-server-busy-every-tim/1416496?from=email&viewtype=所有.