社区
英特尔边缘计算技术
帖子详情
请问关于由操作系统创建的线程问题
adrian_yang84
2008-05-02 01:03:52
您好, 请问是不是omp指令只能对它规定的语句实现并行操作,而编译器对操作系统创建的子线程像是CreateThread就无能为力了,换句话说,我能否让操作系统创建的子线程实现并行化呢? 因为感觉有些时候omp指令规定的条件太严格了,譬如在for循环时,我可能会希望在某种情况下break,这样就不能用omp实现并行了.
非常感谢.
...全文
164
5
打赏
收藏
请问关于由操作系统创建的线程问题
您好, 请问是不是omp指令只能对它规定的语句实现并行操作,而编译器对操作系统创建的子线程像是CreateThread就无能为力了,换句话说,我能否让操作系统创建的子线程实现并行化呢? 因为感觉有些时候omp指令规定的条件太严格了,譬如在for循环时,我可能会希望在某种情况下break,这样就不能用omp实现并行了. 非常感谢.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
youxia000
2008-09-08
打赏
举报
回复
哪么在omp中 continue 是不是可以使用的?
intel_jeff
2008-05-04
打赏
举报
回复
所有OS都支持多线程(并行)的。
上面这个代码的确不太好做并行,因为随时有可能跳出循环、后面的迭代就不做了。如果有可能,你可以改进一下算法。
adrian_yang84
2008-05-03
打赏
举报
回复
首先非常感谢您的解答.那您的意思是omp也是依赖于操作系统的,如果操作系统本身不支持并行的话,omp就没用吧.另外关于循环中用break的问题,我曾经尝试过
for (int i=0; i<5; i++)
{
...
if (满足break的条件)
i=6;
}
发现i的值并不会在循环体中改变,也就是说还是跳不出循环的
intel_jeff
2008-05-02
打赏
举报
回复
ps. omp的底层实现仍然是使用OS API来做的。
intel_jeff
2008-05-02
打赏
举报
回复
你说的基本正确,omp就是为了简化程序员的编程工作、隐藏了对OS线程API的使用。如果你一定要用CreateThread的话,就只能自己来管理线程了,这种情况下omp没办法替你管理。
至于你说的循环中用break的问题,这个跟你的算法有关了,不过如果WIN32 API可以做到并行,那么omp应该也是可以的。
下载 多
线程
编程技术开发资料 高清完整PDF版
这些模型在不同的
操作系统
平台上有不同的实现,但都提供了
创建
、执行、管理和同步
线程
的基本操作和功能。 5.
线程
的生命周期
线程
从
创建
、就绪、运行到结束,这一过程称为
线程
的生命周期。在生命周期的不同阶段,...
操作系统
-
线程
与进程
操作系统
线程
与进程
Java
线程
VS
操作系统
线程
今天给大家分享的文章聚焦讲清楚Java
线程
与
操作系统
线程
之间的关系。我会通过讲清楚这几个
问题
来让你对这个关系有一个全面的认识,让你在面试中能够让面试官眼前一亮:嚓,这就是我要找的人啊,太特么靠谱了!帮我...
操作系统
——
线程
调度
例如1)和2),在
操作系统
当中存在成百上千个任务,所以他们之间要频繁地发生调度,就算调度的过程再快,它依然会影响
线程
的单位处理时间,也就是说本来在单位时间内可以处理1000条指令,但因为调度把单位时间给消耗了...
操作系统
线程
操作系统
管理进程(
创建
、切换进程、分配与回收……)开销是很大的,比如进程
创建
时还需要
创建
PCB,分配内存独立的内空间,建立映射表,
创建
资源……,进程切换时还需要切换资源,如切换对应的内存映射表,进
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章