我正在为Windows开发一个长期运行的多线程Python应用程序,我希望该进程知道每个线程所占用的CPU时间。我可以使用os.times()获取整个过程的总时间,但我需要知道每个线程的时间。
我知道有一些外部工具,例如Sysinternals Process Explorer,但我的程序本身需要有这些信息。如果我在Linux上,我会查看/proc
文件系统as described here。如果我正在编写C代码,我会使用GetThreadTimes
调用as described here。
那么如何在Windows上使用Python实现这一目标呢?
答案 0 :(得分:1)
win32process.GetThreadTimes
你希望Python for Windows Extensions做毛茸茸的窗户。
答案 1 :(得分:1)
或者你可以简单地使用yappi。 (https://code.google.com/p/yappi/)如果选择CPU时钟类型进行性能分析,它会透明地使用GetThreadTimes()。