2016-09-20 66 views
0

有没有办法在Windows主循环中安排要执行的任务。我不想创建Windows并向其发送事件。如何用C++执行Windows主循环中的任务

随着libdispatch我可以做到这一点:

dispatch_async_f(dispatch_get_main_queue(), ...) 

还是有与程序的主循环关联的Windows线程池中的线程?

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

+0

我不是Windows专家,但不是GUI模式应用程序绑定到窗口的所有线程?我认为这是他们与控制台模式应用程序的不同之处。所以你肯定有一个窗户? –

+0

真的不清楚你在问什么。你想钩入GetMessage循环吗? Windows应用程序默认为单线程和基于事件的。 – rustyx

+0

你能更具体一点吗?为什么不能使用CreateThread()调用创建一个新线程并在其中执行“任务”? –

回答

0

在Windows上,每个消息循环都与单个线程关联。如果这是你要求的,你可以为每个应用程序有多个消息循环。