使用C 异步进行并行编程
Parallel programming with c++ async
是否有任何方法可以设置可以通过使用异步函数(从未来)创建的最大线程?我更喜欢使用async/future.get,因为它可以转化为同步/产卵多任务模型,这很常见在有关alghoritms的教科书中(即Cormen)。我希望能够获得T [P](使用P处理器/线程完成程序的时间)。
不幸的是。std::async
在控件中相当限制了它为您提供的线程的创建方式。
您可以考虑使用Boost线程池。这是BOOST ASIO的一部分(有点与直觉上的),并且使用io_service
对象,即使/如果您实际上不为I/O。
这样,很容易控制使用的线程数,包括仅使用一个。
当然,您可以从标准组件中构建自己的线程池类。当然可以,但不是一项完全琐碎的任务。
相关文章:
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 如何对并行键盘输入进行编程
- 如何解决在使用动态 2D 数组进行矩阵乘法的 MPI 进行并行编程时的问题
- 锁定如何在并行编程中工作?
- OpenMP 并行编程基于线程数与执行时间的关系
- 如何将GDB与OpenMP和并行编程使用
- 使用Visual Studio 2017的并行编程
- QT 并行编程
- 使用C 异步进行并行编程
- 带有多个线程的锁在C 中并行编程
- 用openMP进行并行编程
- 使用并行阵列的初学者编程学生
- GTX 550 Ti显卡支持动态并行编程
- 并行CUDA编程
- c++并行编程错误
- 如何在并行编程中收集从机到主机返回的值
- 如何在图问题中应用并行编程
- 内存使用并行编程
- 在TBB中使用递归、基于任务的并行编程获得不同的输出
- 什么是改进并行/分布式编程的好项目