问题标签 [termination]
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++等待线程退出
我在 Linux 下用 C++ 编写了一个程序。对于线程,我使用的是 pthread。在程序中,我启动线程并且该线程一直在运行,直到我调用该函数,这应该停止它。在这里你可以看到我的代码。
当线程启动时,它会做某事。直到isRunning
will的值false
和主程序本身将做其他事情。问题是,当我调用函数时stopThread
,这个函数只是设置isRunning
为 false,而不是等到线程在 while 循环内完成它的任务。我的问题是,我怎么能说 function stopThread
,它应该等待线程退出。
我设置为pthread_join
. _ 但有时它会导致问题,即程序无限等待。因为线程完成的速度比程序来等待线程快。因为线程可以在while循环内的不同部分。所以我永远不知道线程需要退出多少。stopThread
isRunning
false
谢谢
php - PHP脚本不会在浏览器退出时退出
windows - 挂起时子进程终止(Win)
我有一个名为“Agent”的进程,它会产生一个名为“Connect”的新进程。此“连接”进程加载服务 dll。“连接”进程启动一个子进程(cmd.exe),我想知道加载的dll是否由于某些原因导致挂起或崩溃,如何确保“cmd.exe”被终止。
.net - 如何优雅地退出这个应用程序?
为了在第一次启动应用程序时不在 C#.NET 中显示表单,我有这个:
它是一个单表单应用程序,它是SomethingForm
具有退出的父表单Button
,当前调用以下Application.ExitThread();
. 此按钮是退出应用程序的唯一方法。
现在我知道这不是优雅的终止,但这是我在测试时让它工作的唯一方法。现在,退出后将图标留在系统托盘中会导致一些问题。
那么我该如何优雅地终止这个应用程序呢?
c++ - 关机挂钩 c++
是否有某种方法可以在终止时运行代码,无论哪种终止(异常、正常、未捕获的异常等)?我知道它在 Java 中实际上是可能的,但在 C++ 中甚至可能吗?我假设一个windows环境。
iphone - 当移动精灵进入动画静止精灵的边界框时 Cocos2d 游戏终止问题(球进入洞)
让我深入解释一下,当if(CGRectContainsPoint([hole1 boundingBox], ball1.position))
条件成立时,我会做很多事情,比如计划外、选择器、破坏球体调用动画(请参阅下面的代码)等。这在大多数情况下都能正常工作。但有时当球真的接近球洞时(只是接触球洞但不足以使上述条件成立),或者被以非常快的速度抛向球洞,则应用程序被终止。我已经通过评论在本节中执行的许多操作进行了检查,但没有任何帮助,当采取一些措施使其终止时,应用程序会继续终止。
任何建议将不胜感激。
编辑:我发现的是,以下行有问题[self removeChild:ball1 cleanup:YES];
world->DestroyBody(ballBody);
(可能是)。但由于它并不总是发生,(正如我所提到的),因此它很荒谬。
java - 生产者-消费者:如何知道生产完成的通知
我有以下情况:
- 从数据库中读取数据
- 做“计算”工作
- 将结果写入数据库
我有一个从数据库读取并将生成的对象放入 BlockingQueue 的线程。这些对象非常重,因此队列限制了内存中的对象数量。多个线程从队列中获取对象,执行工作并将结果放入第二个队列。最后一个线程从第二个队列中获取结果并将结果保存到数据库中。
问题是如何防止死锁,例如。“计算线程”需要知道何时不再有对象放入队列。目前,我通过将线程的引用(可调用)相互传递并在轮询或提议之前检查 thread.isDone() 以及元素是否为空来实现这一点。我还检查了队列的大小,只要其中有元素,就必须消耗。使用 take 或 put 会导致死锁。
有没有更简单的方法来实现这一点?
iphone - 如何知道应用程序是被用户还是 iOS 终止(后台 10 分钟后)
重新启动应用程序时如何知道应用程序是由用户终止还是由iOS终止>
'By user' 的意思是“通过双击 Home 按钮并按下 - 按钮”。被用户杀死
'By iOS' 表示“应用程序变为后台运行状态,iOS 10 分钟后终止应用程序”
haskell - 具有无限域的映射(替换)
有限域的有限映射模型替换。我要么需要模拟具有无限域的替换操作,要么找到一种合适的方法来表示具有无限域的替换。例如,考虑替换的限制操作:
- σ| e (x n ) = 如果 x n ∈ FV(e) 则 σ(x n ) 否则 x n
因为限制操作适用于可能无限集中的所有变量,所以像有限映射这样的数据类型不能“向前”预测添加新绑定时的限制。当然,使用具有无限域的有限映射会导致非终止。有没有一种方法可以模拟操作,例如使用有限映射的限制,或者另一种替代表示,允许人们轻松地编写像限制这样的操作?我觉得我忽略了一个明显的解决方案——例如,利用惰性评估或功能替换。
编辑:
作为参考,这是一个使用有限映射的简单解决方案。每次将限制操作应用于替换 σ 和表达式 e 时,找到 e 的自由变量的集合 FV ( e )。对于σ 域中的每个变量 x n ,如果 x n ∈ FV( e ) 则设置 σ'(x n ) = x n。返回 σ'。假设 σ'(x n ) = x n如果 x n ∉ dom(σ')。
编辑:这是我忽略的明显解决方案。
asp.net - ASP.NET Web 服务器存在 HTTPS 问题——仅限 Chrome
好的,所以在我的工作中,我们将 SSL 终止从 Web 服务器移动到负载平衡器。然后负载平衡器将请求传递到服务器,并设置一个标志,表明连接是安全的。
除了 Chrome,我们对所有浏览器(IE、FF、Safari)都没有问题。哦,铬,你是个笨蛋,你。
所以我实际上并不怀疑 Chrome 有问题,而是服务器有问题。我在想 Chrome 必须发送某种不同的标头值,导致服务器崩溃。在发送请求并等待响应后,我从 chrome 收到此消息:
- 错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭连接而不发送任何数据。
事实上,在告诉 Fiddler2 捕获 HTTPS CONNECT(充当浏览器和服务器之间的代理)之后,我成功地得到了响应。同样,Chrome 似乎正在发送服务器不认为有利的内容。
有什么想法我应该检查吗?我有点不知所措。
谢谢你的时间。