【发布时间】:2014-05-27 12:28:34
【问题描述】:
我想异步执行一个函数,而不是等待它完成。我最初以为我可以将 std::async 与 launch::async 一起使用,但返回的未来的析构函数会阻塞,直到函数完成。
有没有办法使用 stl 在线程池上运行函数而不阻塞?
【问题讨论】:
-
什么样的功能?它有什么作用,运行时间、运行次数和频率?
-
std::thread::detach 可能会有所帮助。
-
@John Zwinck - 该函数执行我不想阻止 UI 的后台任务。
-
@Jarod42 - 也许这会有所帮助。不过,这是否会每次都启动一个新线程。我认为 std::async 可能会使用一个线程池,我可以使用它而无需启动新线程且无需阻塞。
-
@ScottLangham:你忽略了我的大部分澄清问题。