微软TPL(任务并行库)vs英特尔TBB(线程构建块)
Microsoft TPL (Task parallel library) vs Intel TBB (Threading Building Block)
我的问题是,正如标题所说:在一般的层面上(易用性,对发生的事情的控制程度等),对于小型并行程序,您会推荐哪一种?微软TPL还是英特尔TBB ?
提前感谢
回答这个问题并不容易。TBB是一个c++模板库,而TPL是一个。net库。假设您可以选择自己喜欢的语言,它们都提供了类似的通用并行结构,主要是:
- 并联回路:TPL中的
Parallel.For
和TBB中的parallel_for
- 并行任务:TPL中的
Task
和TBB中的tbb:task
- 各种并发集合
- 其他并行模式,例如TBB中的
parallel_reduce
,可以在TPL 中使用plinq进行模拟
但是,根据你选择的语言,你并不能在两者之间做出选择。
相关文章:
- 如何完全关闭 TBB 代码中的线程
- tbb::enumerable_thread_specific在其他线程库中工作吗
- 如何使用 TBB 在单个线程中运行函数
- TBB C++多线程错误:没有匹配的调用函数
- TBB:如何在代码的不同部分设置不同数量的线程?
- Python C,TBB,调用多个线程的函数
- 如何在英特尔TBB中拥有长时间等待的线程
- 如何从调用的函数获取返回值,该函数在 TBB 中的另一个线程中执行
- 根据用户请求停止tbb线程
- 从多线程.net应用程序调用的本机dll中的tbb存在问题
- 英特尔TBB在并行线程中运行函数
- Intel MIC上的Intel TBB和Cilk Plus线程亲和性
- 如何在 c++ TBB 中制作线程池
- 英特尔 TBB 并行循环线程 ID
- 如何取消一个特定的线程,而使用c++ 11线程模型或tbb线程类
- 如何有效地合并来自TBB线程的结果
- 是否tbb::线程仍在tbb -4.x中?
- 微软TPL(任务并行库)vs英特尔TBB(线程构建块)
- TBB线程本地设置使用可组合或enumerable_thread_specific
- TBB线程池意外增加