gpt4 book ai didi

c++ - VC10 PPL或准备STL线程

转载 作者:搜寻专家 更新时间:2023-10-31 01:49:22 25 4
gpt4 key购买 nike

我正在使用 MSVC 2010 启动一个新的 MFC 项目,现在试图决定将哪个库用于并发任务。我知道新的 C++0x 线程特性,但它没有在 VC10 中实现。 VC12 还不是一个选项,但它会在未来出现。我确实有 Microsoft PPL,这对我来说看起来不错,但我们可能会从 Windows 转移到 Linux 以进行新项目,因此对于重用代码来说,使用 STL 可能更便携?为此,我可以选择使用 boost 以使用 VC12 更改为 std。

我的问题是我应该选择什么,PPL 还是暂时提升然后 std?我想听听您对两者的体验,哪个更强大,更方便,优点和缺点。

最佳答案

PPL 和 C++11 并发库并不是真正的直接替代品。 PPL 提供更高级别的基于任务的并发方法,与直接使用 std::thread 或类似的线程库管理线程相比,它更易于使用且效率更高。 PPL 还包括并行算法(parallel_for_each、parallel_transform、parallel_reduce、parallel_sort 等)和 C++11 并发库中未包含的并发容器。

还值得注意的是,PPL 和 Intel 的 TBB(线程构建 block )旨在在很大程度上共享相同的接口(interface),并且 Linux 支持 TBB,因此在使用 PPL 时具有一定的跨平台可移植性。英特尔、微软和 NVIDIA union 提议为基于 PPL/TBB 的 C++ 标准(C++14 及更高版本)的 future 版本提供并行算法库。

关于c++ - VC10 PPL或准备STL线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16655305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com