问题标签 [suspend]
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、Windows)
我可以使用 SuspendThread() 挂起另一个进程的线程。有没有办法完全暂停该进程的执行?如果是,请发布代码。
谢谢。
PS:既然你会问“你为什么要这样做”,我会在这里发布。我正在处理不再维护的遗留软件。我无权访问源代码。现在我需要它暂停,直到文件充满数据,然后恢复执行。
javascript - JScript 等待函数
我有一个用 JScript(不是 javascript)编写的函数,我需要暂停,直到某个全局变量变为真。在 ajax 响应后调用另一个函数时,全局变量更改为 true:
当我尝试循环直到变量为真时:
我进入了忙碌的等待状态,并且从未调用过回调函数。
有些人建议使用 WScript.wait() 但我的应用程序并不了解 WScript。SetTimeout() 也无济于事,因为它是异步调用并且不会暂停我的原始功能。
还有什么建议吗?
关于我的问题的更多信息:我希望我的脚本调用 2 个函数:
我希望waitWhileAjaxIsNotCompleted()单击提交 ajax 请求(由 A4J 实现)的按钮并在 ajax 完成时终止。为了让我知道 ajax 何时完成,我注册了一个函数作为侦听器,当 ajax 完成时将被唤醒。此函数更改 globalVariable 值。我的waitWhileAjaxIsNotComplete()进入一个无限循环,等待 glovalVariable 值改变。当它发生变化时(听者醒来后),我可以结束函数并继续使用doSomthingElse()函数。
你可以看到更多关于实现的信息:QTP Web extensibilty toolkit and ajax
sql - SQL 活动监视器中的暂停状态
什么会导致在 Management Studio 中执行的查询被暂停?
- 我从一个表(有 1100 万行)中执行一个简单的 select top 60000,结果在一两秒内返回。
- 我将查询更改为前 70000,结果最多需要 40 分钟。
通过对另一个但相关的问题进行一些搜索,我发现有人使用 DBCC FREEPROCCACHE 来修复它。
- 我运行 DBCC FREEPROCCACHE,然后重做 70000 的查询,它似乎工作。
但是,使用不同的查询仍然会出现此问题。
- 我增加说 90000 或者如果我尝试使用 [Right->Open Table] 打开表,它会提取大约 8000 条记录并停止。
在我执行 Open Table 时检查活动日志显示会话已暂停,等待类型为“Async_Network_IO”。对于运行选择 90000 的会话,状态为“睡眠”,这与上述选择 70000 查询的状态相同,但在 45 分钟内返回。令我感到奇怪的是,状态显示为“正在睡觉”,而且它似乎没有变为“可运行”(我让活动监视器每 30 秒刷新一次)。
补充笔记:
- 我没有同时运行 Open Table 和选择 90000。所有查询一次完成一个。
- 我正在运行 32 位 SQL Server 2005 SP2 CU9。我尝试升级到 SP3,但遇到了安装失败。在我尝试此升级之前就出现了这些问题。
- 服务器设置是一个 Active/Active 集群,问题发生在任一节点上,而另一个实例没有此问题。
- 我在同一个服务器实例上有大约 20 个其他数据库,但只有这个数据库看到了这个问题。
- 这个数据库变得相当大。目前为 76756.19MB。数据文件为 11,513MB。
- 我使用远程桌面在服务器框本地登录。
winapi - 在 Vista 上请求暂停但允许其他应用程序取消
SetSuspendState()
我的应用程序在完成一项冗长的任务后使用 Win32 API 触发系统挂起或休眠。
API 接受一个参数“ForceCritical”,该参数确定系统是立即挂起还是PBT_APMQUERYSUSPEND
先广播以允许其他应用程序有机会取消挂起。我的应用程序使用它与媒体播放器等其他应用程序很好地播放,所以如果你正在听音乐或其他东西,它不会暂停。
出于某种原因,从 Vista 开始,MS 改变了一些东西,所以这个参数被忽略了,所以SetSuspendState
立即导致挂起,其他应用程序没有机会停止它。
有谁知道我怎样才能在 Vista 上再次获得所需的“礼貌”行为?
c# - 恢复 C# 线程
可能重复的问题: 有没有办法无限期地暂停一个线程?
在我的代码中,我执行以下操作
然后我得到下面的异常,因为我在它没有被暂停时调用了 resume。
我注意到这个警告
所以我想知道有没有办法恢复并忽略它没有被暂停的异常/情况?我讨厌写下面而不是一行
winapi - 为什么 SetThreadExecutionState(ES_SYSTEM_REQUIRED) 会阻止显示器断电?
我试图让系统保持开启,同时让显示器关闭,以便在系统无人看管的情况下完成下载。为了实现这一点,我呼吁:
每当我从下载中获取数据时。但是,这似乎也可以防止显示器断电(显示器根据其配置的调光计时器变暗,但永远不会完全关闭)。根据MSDN 条目,只有当我也通过时才会发生这种情况ES_DISPLAY_REQUIRED
- 为什么它仍然被阻止?
请注意,当我停止呼叫时SetThreadExecutionState
,显示器不会再次开始断电;我必须终止程序才能关闭显示器。但是,如果用 调用它不应该只有持久效果ES_CONTINUOUS
吗?
如果重要的话,我正在使用 Windows 7。我目前无法在其他版本上进行测试...
multithreading - Delphi 线程等待数据,处理它,然后继续等待
我需要在 Delphi 中创建一个具有以下特征的线程:
- 等到主线程将数据添加到共享队列。
- 处理队列中的所有数据,将结果返回到主线程(对于最后一部分,我将只向主窗口发送消息)。处理是耗时的,因此在工作线程正在处理以前的条目时,可能会将新数据添加到队列中。
- 恢复等待,使用尽可能少的 cpu 周期。
我无法向线程发送消息,因为它没有窗口句柄。
我应该使用 WaitForObject 的一些变体吗?如果是这样,那还要等什么呢?如果没有,那么我怎样才能让线程等待,然后在新数据进入队列时唤醒它?
我读过Multithreading - The Delphi Way,这似乎没有回答我的问题。也许 OmniThreadLibrary可以做我需要的;我不知道,因为文档很少。一般来说,我对线程的了解还不够,无法弄清楚该库是否会在这里提供帮助以及如何使用它(甚至为什么要使用它而不是仅仅使用 TThread 后代)。
mysql - 事务暂停在 MySQL 中是如何工作的?
在 Spring Framework 手册中,他们声明对于 PROPAGATION_REQUIRES_NEW,当前事务将被暂停。
什么是“暂停交易”?超时计时器停止计数当前事务?这种暂停的实际含义是什么?
谢谢,
阿萨夫
process - 如何保存程序的进度,并在以后恢复?
您可能知道很多程序,例如一些密码破解程序,我们可以在它们运行时停止它们,并且当我们再次运行该程序(输入或不输入相同的输入)时,它们将能够从它们所在的位置继续已经离开了。我想知道这些程序使用了什么样的技术?
[编辑] 我正在编写一个主要基于递归函数的程序。据我所知,我认为在我的程序中保存这些状态非常困难。有没有什么技术,以某种方式,保存我的程序中涉及的堆栈内容、函数调用和数据,然后当它重新启动时,它可以像没有停止一样运行?这只是我脑海中的一些概念,所以如果没有意义,请原谅我......
sql-server - SQL Server - 为什么我的 SPID 在创建索引时会“暂停”但没有被阻止?
我有一个 SQL 2005 x64 服务器,当我尝试对它发出一些查询时(例如,当我尝试创建索引时),我的 SPID 立即进入“睡眠”状态,并且似乎无限期地等待在那里。它没有被阻塞(SP_WHO2 中的“BLKBY”列为空),CPU 和 DiskIO 值非常小(每个都低于 300),并且没有增长。
我的查询可能在等待什么?如果我从正在索引的表中执行 SELECT *,我会在一分钟左右的时间内恢复所有数百万行,因此它不会阻止表访问,甚至(似乎)表争用。
对我可以检查的其他事情有什么想法吗?我只需要放弃并重新启动我的 SQL 实例吗?:)
详细信息:我正在 SSMS 中的另一个选项卡上运行 CREATE INDEX,它永远不会返回 - 它只是显示“正在执行”并且永远不会返回,所以我认为该过程没有被放弃。