nac*_*o4d 5 c++ multithreading asynchronous
我想知道如何在标准C++中实现异步调用.
我有一个图像/视频处理程序,我想添加另一个功能/功能,但我希望它在另一个线程中运行或异步运行到原始线程.
我只是想在这个新线程中发生某些事情时通知主线程.(这不会总是发生,并且主线程没有理由等待这个新进程结束.因此我更喜欢异步调用,如果这比多线程编程更简单)
我希望我走在正确的道路上.
提前致谢.
伊格纳西奥.
更新:目前我还没有使用任何线程库,因为到目前为止我还不需要它.我在Boost中思考......这是个好主意吗?我应该从哪里开始如果我想开始一些异步调用?
当前的C++标准没有定义这样的东西,但是C++ 0x确实如此.这留下了几个选择.最干净的是可能使用包含C++ future类(和亲属)的当前实现.这似乎正是你正在寻找的那种东西.根据您使用的编译器,支持可能已经打包(例如,我认为它通常包含在gcc 4.5中),或者您可能需要/需要使用Boost版本(尽管我不相信它是官方的一部分)提升释放 - 您需要查看保险库).
否则,您可以自行创建一个线程池并向其提交任务.如果您决定,我的建议是尽可能地遵循标准界面future; 几乎不可避免的是,在某些时候你会有期货,并且可能更喜欢使用它们而不是维护你自己的版本.
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |