问题标签 [waitforsingleobject]
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.
deadlock - 有时 5 次,2-3 次,线程在 waitforsingleobject 中出现死锁
我有两个线程 T1 和 T2 试图通过信号量信号进行打印。每个线程打印 10 次,但有时,两者都在 WaitforSingleObject 处被阻塞并且不打印任何内容。我做错了什么吗?请让我知道如何解决这个问题并摆脱这个问题。
T2:
主要的
c++ - Windows:当线程返回 0 时,WaitForSingleObject 崩溃
我有一个奇怪的行为:当我从我的线程返回 0 时,WaitForSingleObject 似乎崩溃了,但如果我调用“ExitThread(0)”,那么它不会。
根据文档:
ExitThread 是在 C 代码中退出线程的首选方法。但是,在 C++ 代码中,线程在调用任何析构函数或执行任何其他自动清理之前退出。因此,在 C++ 代码中,您应该从您的线程函数返回。
这对我来说没有意义。我认为我的函数中带有签名的“返回0”:
会好的。为了完整起见,线程是使用 CreateThread 创建的,如下所示:
有谁知道为什么返回语句会崩溃“WaitForSingleObject”吗?我在 WaitForSingleObject 之前和之后放置了 print 语句,当线程存在时,我看到的行为是:“在 WaitForSingleObject 之前”,“线程完成”,Crash。请问有人理解这种行为吗?
vb6 - 等待被壳进程和所有子进程
抱歉,这已经回答了,我找不到。我需要从 vb6 应用程序启动外部进程并等待该进程完成,然后再继续。很简单。但是,我需要依次启动的进程会启动一个子进程然后退出。我需要等待子进程完成(和其他子进程)
现有代码:
我曾经设法在 c# 中做到这一点,但现在只有 vb6 可以使用。
multithreading - 在 while 循环中连续调用 WaitForSingleObject 是一种好习惯吗?
我有一个手动重置事件来控制(暂停和恢复)while 循环。所以在循环中,我必须不断检查事件信号状态
这是好习惯吗?连续调用是否WaitForSingleObject
会导致任何问题(CPU、内存、...)?
或者在这种情况下是否有更好的方法来检查事件状态?
windows - WaitForSingleObject 返回 ERROR_IO_PENDING
有谁知道为什么 WaitForSingleObject() 或 WaitForMultipleObjects() 会返回 ERROR_IO_PENDING,而我正在等待的对象是使用 CreateEvent() 创建的事件?
在我的测试中,我尝试了 WFSO 和 WFMO、手动和自动、INFINITE 和 5000,只要我调用 WaitFor*,我就会立即返回 ERROR_IO_PENDING。
事件对象到底有什么待处理的?他们的重点是你等待他们。此事件不是 OVERLAPPED 的一部分,与 IO 调用无关。它只是被用作我的工作线程退出的一次性标志(这是另一个线程的 SetEvent() )。
所以 - 问题是 - 从 WFSO 回来的 ERROR_IO_PENDING - 和想法?
富有的
waitforsingleobject - 在 WaitForSingleObject 中,timeout=INFINITE 是否与 timeout=-1 相同?
我正在使用其他人编写的一些 Visual Basic for Applications (VB 6.3) 代码,他们编写了:
出现的过程应该在文本框中返回一些数据;有时它无法返回任何东西,我认为是因为这个,可能是因为它超时了。该代码是否与以下代码相同:
???
谢谢你的帮助。
c++ - WaitForSingleObject 与联锁*
在 WinAPI 下有 WaitForSingleObject() 和 ReleaseMutex() 函数对。还有 Interlocked*() 函数系列。我决定检查捕获单个互斥锁和交换互锁变量之间的性能。
我测量了这两种方法之间的性能,发现使用 Interlocked*() 大约快 38%。为什么会这样?
这是我的性能测试:
c++ - WaitForSingleObject 崩溃
我试图通过使用互斥锁来保护一段代码。由于代码崩溃,我在下面创建了一个简单的测试代码,它的作用相同。崩溃不一定每次都在同一行代码上,但总是围绕“WaitForSingleObject”或“Sleep”调用。
任何援助将不胜感激。
windows - 为什么 CreateProcess() 之后的 WaitForSingleObject() 显示 AppStarting 光标?
我编写了一个简单的启动器,它查找实际程序然后执行它。这工作正常,但有一个问题:Windows 显示“带有沙漏的指针”光标大约几秒钟。如果我直接启动该程序,则不会发生这种情况。
我尝试设置sinfo.dwFlags = STARTF_FORCEOFFFEEDBACK
,但这没有帮助。我想那是因为我的程序需要以某种方式禁用光标,而我启动的程序做得很好(它创建了一个适当的窗口等)。
这是我的应用程序中的相关代码。我没有任何线程或任何其他花哨的东西(程序的唯一目的是启动另一个程序并将退出代码传递给它的调用者,以防它关心它):
c - 无法在 C 中锁定互斥锁
我想创建一个用于写入日志文件的锁。我需要使用互斥锁,尽管我的实现似乎是错误的:
第一个'WaitForSingleObject'应该通过,(没有人获得锁)但第二个'WaitForSingleObject'应该卡住程序,但它没有发生..我错过了什么?