【发布时间】:2009-10-29 22:09:23
【问题描述】:
可能每个人都知道运行程序并等待程序结束的代码:
CreateProcess(...
WaitForSingleObject(Process.hProcess, INFINITE
我自己用了好几次。但是最近我发现,当它启动一个带有多媒体播放的程序时,这个调用的性能比从通用文件管理器(Windows XP)执行的相同进程要差。我的(父)进程的 CPU 消耗没关系,但是在播放片段时,会有意想不到的小停顿。
我对类似的东西做了一点改动:
CreateProcess ...
do {
Sleep(100);
Res = WaitForSingleObject(Process.hProcess, 10);
} while (Res == WAIT_TIMEOUT);
它有帮助。现在子进程播放片段没有问题。 那么第一个片段有什么问题,它是否记录在某个地方?正如我从测试中看到的,第二个“等待”比第一个更“放松”,但第一个至少在形式上不会占用 CPU
【问题讨论】:
标签: performance winapi process