我用Python 3.4。我有一个程序,提供与COM模块的win32com集成,通过win32com软件包。为了处理来自这个模块的消息,我在无限pythoncom.PumpWaitingMessages()循环中使用了while方法。但是python无限循环会产生100%的CPU核心负载(如所示)。问题如下:
asyncio模块或其他方式?pythoncom异步处理消息?发布于 2015-02-06 09:58:53
PumpWaitingMessage将处理消息,并在没有更多消息要处理时立即返回。
您可以在循环中调用它,但应该在下一个循环迭代之前调用MsgWaitForMultipleObjects或MsgWaitForMultipleObjectsEx。
避免在初始循环迭代之前调用这些函数,因为它们将被阻塞,您将没有机会查看是否满足某些条件,是否存在要处理的消息。或者,为这些函数提供一个合理的超时。
https://stackoverflow.com/questions/28352419
复制相似问题