win32 计时器(由 SetTimer()
创建)是否由其调用线程拥有(因此调用 TerminateThread()
到调用线程会破坏计时器)?
最佳答案
计时器属于调用SetTimer
的线程。它可以选择性地与 HWND(窗口句柄)相关联,该 HWND 也具有类似的线程亲和性。
如果线程退出或被终止,则该线程上的所有计时器都会随之终止,而不管 KillTimer
是否被调用。当拥有线程死亡时,不再有消息泵来发送那些 WM_TIMER 消息。
如果计时器与 HWND 相关联,则当 HWND 被销毁时,计时器也会被隐式销毁。
考虑到所有这些,显式调用 KillTimer
让计时器对象隐式清理是个好主意。
关于c++ - win32 计时器是否由其调用线程拥有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58264539/