c++ - win32 计时器是否由其调用线程拥有?

标签 c++ windows winapi

win32 计时器(由 SetTimer() 创建)是否由其调用线程拥有(因此调用 TerminateThread() 到调用线程会破坏计时器)?

最佳答案

计时器属于调用SetTimer 的线程。它可以选择性地与 HWND(窗口句柄)相关联,该 HWND 也具有类似的线程亲和性。

如果线程退出或被终止,则该线程上的所有计时器都会随之终止,而不管 KillTimer 是否被调用。当拥有线程死亡时,不再有消息泵来发送那些 WM_TIMER 消息。

如果计时器与 HWND 相关联,则当 HWND 被销毁时,计时器也会被隐式销毁。

考虑到所有这些,显式调用 KillTimer 让计时器对象隐式清理是个好主意。

关于c++ - win32 计时器是否由其调用线程拥有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58264539/

相关文章:

c++ - Windows 命令行历史记录

windows - 怎样在IIS上创建隐藏网站

c++ - 如何使用线性渐变创建文本?

c++ - 如何从 SimpleIni 打印同一键的多个值

C++ 超快速线程安全 rand 函数

windows - 适用于 Windows 的 UnionFS 和 SSHFS

c++ - Win32 设备事件 : Not receiving DBT_DEVTYP_VOLUME on DBT_DEVICEARRIVAL event

c++ - while 循环的问题

c++ - c2143、c4430 错误不知道为什么

winapi - 获取完整的运行过程列表(Visual C++)