腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(1127)
视频
沙龙
2
回答
在
OpenMP
中导
致
死锁
的
std
::
thread
和
tbb
::
task_group
之间
的
线程
ID
重用
、
、
、
、
所以看起来进程
的
主
线程
实际上是
在
等待 任务 而不是等待 IO
线程
由于
ID
的
重用
。因此,
TBB
任务挂起
在
OpenMP
多
线程
实现中
的
某个地方。 但是,为了使情况变得复杂,任务似乎不会挂起,除非IO
线程
中
的
线程
ID
恰好被任务
重用
。因此,
在
std
::
thr
浏览 108
提问于2021-02-24
得票数 3
回答已采纳
1
回答
线程
构建块:
死锁
,因为所有
线程
都用完了
、
、
、
、
在
Intel
线程
构建块框架中,如何确保所有
线程
都不忙等待其他
线程
完成。库所使用
的
线程
池中有
线程
。然后,当第二个生成更多任务
的
调用发生在run_something函数中时,
TBB
调度器会看到没有可用
的
线程
,而且只是
死锁
。也就是说,我看到打印语句
在
4超级
线程
机器上执行了4次,
在
8超级
线程
机器上执行了8次。如何避免这
浏览 2
提问于2015-07-24
得票数 6
回答已采纳
3
回答
英特尔
TBB
使用
task_group
进行双声速排序
、
、
我正在使用英特尔
TBB
实现一种双声速排序。当使用parallel_invoke方法时,一切都进行得很好。但是,当使用
task_group
(不调用等待方法)时,输出不会排序。当像下面这样使用
task_group
时,程序不会终止。parallel_invoke
和
使用
task_group
有什么区别?在这种情况下,还有什么更好
的
办法呢?parallel_invoke还是
task_group
?还是我应该用别的方法? 提前感谢
浏览 4
提问于2011-03-23
得票数 2
回答已采纳
1
回答
Python与
TBB
组合时出现
死锁
、
、
、
我想提供一个完整
的
测试用例,展示一个简单
的
Here parallel_for构造导致应用程序中
的
死锁
。Python前端
和
TBB
后端使用pybind11组合: void backend_
tbb
(vector<int>& result,
std
::function<int (int)>& callback)("
TBB
_NUM_THREADS"); if (cnthread
浏览 42
提问于2020-01-25
得票数 0
1
回答
主
线程
以后能加入
TBB
竞技场组吗?
、
、
比如说,有一个主
线程
部署
TBB
来生成额外
的
工作
线程
,如下面的代码片段所示。 主
线程
继续其业务,而不等待竞技场组完成。但是,主
线程
可能恰好在工作
线程
之前完成。因此,合乎逻辑
的
问题是:是否有可能实现主
线程
到竞技场组
的
晚连接,并使用它
的
时钟来帮助完成其余
的
工作?是否有任何基于
TBB
的
等效解决方案来实现此场景?
tbb
::
task
浏览 1
提问于2018-02-23
得票数 0
回答已采纳
2
回答
线程
构建块上
的
任务
、
示例代码如下:#include <list>#include <
tbb
/task_group.h>#include <boost/
thread
.hpp> { if (a < 2) return: "
浏览 0
提问于2010-08-03
得票数 1
回答已采纳
1
回答
在
tbb
中调用task::spawn_root_and_wait时调试错误
、
、
使用visual studio调试器,我发现它在代码
的
测试(task::spawn_root_and_wait);行上。我不知道它为什么要这样做。
浏览 0
提问于2014-04-28
得票数 0
1
回答
Matlab限制
TBB
,但不限制
OpenMP
。
、
、
、
、
问题很简单,Matlab允许基于
OpenMP
的
程序利用所有已启用超
线程
的
CPU核,但不允许对
TBB
进行同样
的
处理。当运行
TBB
时,我只能启动4个
线程
,即使我将maxNumCompThreads更改为8。而在使用
OpenMP
时,我可以使用我想要
的
所有
线程
。当然,如果没有超
线程
,
TBB
和
OpenMP
都可以使用所有4个内核. 我理解超
浏览 11
提问于2013-06-26
得票数 4
2
回答
如何在c++
TBB
中创建
线程
池?
、
我认为发生
的
情况是
线程
没有被池化,而是
在
需要时被销毁/创建,这使得程序
在
工作负载较小时变慢。我使用
tbb
::task_scheduler_init来控制
线程
的
数量,但是我不知道如何告诉
tbb
让
线程
保持活动状态。: " << boost::this_
thread
::get_
id
() <<
std
::endl;
浏览 1
提问于2012-05-15
得票数 2
回答已采纳
3
回答
英特尔
TBB
比
std
慢2倍
、
、
、
、
我对两个程序做了一些比较,这些程序用mersenne扭曲器中
的
伪随机整数填充给定
的
向量,重点是
TBB
版本--它非常慢,
std
版本
在
0.6s内执行任务,而
TBB
需要至少1.1s。我还注意到,
TBB
实际上并没有提供用于处理容器
的
优化算法,但它只提供泛型构造( parallel_for、parallel_for_each
和
类似的)来处理一般任务,而
std
提供
的
std
::generate<
浏览 8
提问于2013-06-22
得票数 0
2
回答
OpenMP
创建了太多
的
线程
、
但我所观察到
的
是,对于n个启动
线程
,
OpenMP
会创建n*核
线程
。在我看来这是个大漏线。如果我
在
服务器上执行一个“小”32位应用程序,它可能会失败,因为1000个
OpenMP
线程
已经需要2GB
的
地址空间,没有给应用程序留下任何内存。这种情况不应该发生。我希望从最先进
的
线程
池中
重用
它
的
线程
,并删除不再使用
的
线程
。 我尝试使用omp
浏览 3
提问于2016-05-23
得票数 3
回答已采纳
2
回答
英特尔
tbb
内存开销
、
、
在
重用
使用英特尔
TBB
函数
的
线程
时,我们会遇到很高
的
内存开销。我们预计,一旦
线程
完成了给定
的
工作负载,它就会释放相应
的
内存。然而,情况似乎并非如此,即使在
线程
执行工作单元
之间
有很长
的
停顿。count = 1;
std
::vector<
std
::
thread
> wor
浏览 5
提问于2017-03-04
得票数 2
回答已采纳
3
回答
C++任务链
、
、
、
我必须处理以下场景:我有5个任务(“A”,"B","C","D","E"),我希望将它们并行化,但考虑到它们
的
相关性。它们必须以这样
的
顺序执行:C ----------> E因此,"E“是在前面的所有操作完成后执行
的
,而"B”必须在A之后执行。这是我
的
问题。是否有任何准备就绪
的
解决方案(STL、Boost)?或者我将不得不基于
浏览 1
提问于2013-06-17
得票数 6
回答已采纳
5
回答
我可以
在
C++11中安全地使用
OpenMP
吗?
、
、
OpenMP
标准只考虑ISO98( C++ 14882:1998)。这意味着
在
C++03甚至C++11下没有支持
OpenMP
用法
的
标准。因此,任何使用C++ >98
和
OpenMP
的
程序都在标准之外运行,这意味着即使它在某些条件下工作,它也不太可能是可移植
的
,但绝对不能保证。对于具有自己
的
多
线程
支持
的
C++11,情况甚至更糟,这很可能会在某些实现中与
OpenMP
发生冲突。 那么
浏览 1
提问于2012-12-12
得票数 44
回答已采纳
1
回答
如何在2019年
的
OpenCV中正确使用多
线程
?
、
、
、
、
背景: 但我无法得到一
致
的
答案,哪种多
线程
方法是正确
的
。相反,使用
TBB
或
openmp
支持重新构
浏览 0
提问于2019-01-31
得票数 29
1
回答
` `
std
::mutex`
和
` `
std
::lock`能保证处理器间代码中
的
内存同步吗?
、
、
、
我目前正在使用
openMP
编写在多核节点上运行
的
代码。
openMP
有一个特定
的
内存模型,它保证
在
获取锁时
在
不同内核上运行
的
线程
之间
的
内存同步。我考虑使用C++11结构(带有
std
::mutex
和
std
::lock
的
std
::
thread
)而不是
openMP
(因为它们具有更大
的</em
浏览 2
提问于2012-06-08
得票数 6
回答已采纳
4
回答
什么类型
的
多
线程
将是最好
的
学习?
、
我想在C++中学习多
线程
,但我不确定哪种类型最有用。我看过
的
教程有: 每个人
的
关键特性是什么?注意:我已经通过手工创建
线程
在
C#中完成了一些多
线程
,而更复杂
的
线程
只会使它更有趣。:)
浏览 5
提问于2011-04-22
得票数 7
回答已采纳
4
回答
可移植
的
C++多
线程
、
、
我正在用C++语言编写一个使用多
线程
的
库。由于我是
在
windows中开发
的
,所以我使用了"Windows.h“中
的
方法和数据结构(如CreateThread、HANDLE WINAPI等)。现在我想让这段代码
在
Windows
和
Linux中都可执行;你能给我一些
线程
实现
的
建议吗?提前感谢。
浏览 7
提问于2012-04-20
得票数 3
回答已采纳
2
回答
C++异步与
OpenMP
任务
、
、
、
、
如果我是正确
的
,in
OpenMP
,任务存储
在
某个任务池中,然后分发到
线程
(由
OpenMP
运行时自动)。In C++,
在
调用
std
::async时,运行时决定是
在
新
线程
中异步运行f(i),还是将其运行推迟到调用
std
::future::get
的
点。因此,要么运行时 或者创建更少
的
线程
,但是
在</
浏览 4
提问于2017-12-19
得票数 11
回答已采纳
10
回答
简单C++
线程
、
、
我试图
在
C++ (Win32)中创建一个
线程
来运行一个简单
的
方法。我对C++
线程
很陌生,但对C#中
的
线程
非常熟悉。下面是我试图做
的
一些伪代码:{} {//long running operation here我想在没有阻塞
的
情况下从RunStuff调用MyMethod。<e
浏览 7
提问于2009-02-27
得票数 9
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
并发编程大放异彩:探究C+多线程编程的奇妙世界
30天拿下Rust之并发
Python线程5分钟完全解读
数据库内功“心法”,你到了第几层?
java高并发编程系列三:线程安全与数据同步
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券