python中信号量的奇怪错误
有人能给我解释一下为什么我在下面的代码中收到一个错误吗python中信号量的奇怪错误,python,windows,winapi,Python,Windows,Winapi,有人能给我解释一下为什么我在下面的代码中收到一个错误吗 win32event.WaitForSingleObject(self.my_lock, win32event.INFINITE) win32event.ReleaseSemaphore(self.big_semaphore, 1) win32event.ReleaseSemaphore(self.small_semaphore, 1) win32event.ReleaseMutex(self.my_lock) 奇怪的是,如果我评论其
win32event.WaitForSingleObject(self.my_lock, win32event.INFINITE)
win32event.ReleaseSemaphore(self.big_semaphore, 1)
win32event.ReleaseSemaphore(self.small_semaphore, 1)
win32event.ReleaseMutex(self.my_lock)
奇怪的是,如果我评论其中一个信号量,比如:
#win32event.ReleaseSemaphore(self.big_semaphore, 1)
win32event.ReleaseSemaphore(self.small_semaphore, 1)
我的代码运行得很好,知道吗?我无法发布错误日志,因为它非常大,与我的代码的这一部分无关
更多上下文:
我有几个进程来执行这段代码。我收到的错误是,互斥被放弃了,但是当我对其中一个调用发表评论时,代码运行得非常完美。
放弃了等待
。这意味着另一个线程或进程拥有互斥体,并在不释放互斥体的情况下终止。操作系统将互斥锁的所有权授予下一个等待的线程(从WaitFromSingleObject()
接收WAIT\u放弃的
结果的线程)
收到此结果代码时,您可以像收到WAIT\u OBJECT\u 0
一样继续,但要注意受互斥锁保护的资源的状态
无论如何,您必须调查此返回代码,并尝试找到谁正在放弃互斥
(有关
等待
错误的更多解释,请阅读)您收到了什么错误?在哪一行?上下文,上下文,更多的上下文…奇怪的是,我收到的错误和这段代码根本没有关系