如何用c++在Windows主循环中执行任务

How to execute in C++ a task in the Windows main loop

本文关键字:循环 执行任务 Windows 何用 c++      更新时间:2023-10-16

有没有办法安排一个任务在Windows主循环中执行?我不想创建一个Windows并向它发送一个事件。

使用libdispatch我可以这样做:

dispatch_async_f(dispatch_get_main_queue(), ...)

或者在Windows线程池中有一个线程与程序的主循环相关联?

背景:目前,我正在开发一个CSP(通信顺序处理)库,大多数时间任务可以由线程池执行。但有时需要在主循环中执行任务。我已经有一个解决方案,如果在Windows下的应用程序是一个Qt应用程序。但是对于Windows下的非Qt应用程序,我也希望有一个解决方案。

在Windows上,每个消息循环与单个线程相关联。如果需要的话,每个应用程序可以有多个消息循环。