win api的多线程和open mp的多线程有什么区别?

godss 2007-07-21 07:32:44
OPENMP在vs2005是用win32线程来实现的,看前面入门文章是这样说的,那在icl中是用什么来实现的?
用win api创建的线程效率和open的效率相比如何?
...全文
636 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
l953422179 2010-08-24
  • 打赏
  • 举报
回复
不知道我是否说对了……,新手,请多指教!
l953422179 2010-08-24
  • 打赏
  • 举报
回复
thread好像是用于线程,openmp用在多核上!如果所有的线程都运行在了一个核心上呢?
我觉得openmp的效率是thread无法比的、我觉的它们是两个不同的东西……!
龙凤呈祥焱 2007-08-03
  • 打赏
  • 举报
回复
只有操作系统才有创建线程,分配内存的能力,所以任何一个库,在某个平台下要实现这些功能都必须最终调用操作系统的功能。
openmp可需要在程序中加入几条类似预编译指令的就可以实现了。相比调用操作系统API的。openmp要简单很多。
openmp在我们常见的应用程序上,的确没什么优势。
要跨平台用boost的thread库更方便。
danscort2000 2007-08-02
  • 打赏
  • 举报
回复
openmp是套编译指示命令
用在科学计算方面可能挺方便实现多线程
但是不适合我们常见的多线程服务器或者客户端程序开发
我感觉很不方便

认同 code_farmer(代码农民工) 的说法

赖勇浩 2007-08-01
  • 打赏
  • 举报
回复
楼上的话我不太认同。

openmp不仅适用于软件的升级,而且因为使用了线程池的方式来实现,所以在频繁生成线程来执行任务的程序设计上,会比基于native threads的程序更高效。

另,openmp不仅仅是几个编译器指令,相对于 native threads 它的学习曲线优势并不非常明显。我的建议是用openmp还是native threads,要随需应变。

积极准备、谨慎行动——应对多核编程革命
地址:http://blog.csdn.net/lanphaday/archive/2007/05/15/1610633.aspx
我写的这篇文章可供参考之用。
code_farmer 2007-07-26
  • 打赏
  • 举报
回复
openmp比较适合软件的升级,比如你的产品原来使用单thread实现的,现在想进行移植来提高效率。

如果新产品的话,还不如直接用thread来做,openmp肯定没直接用thread写的程序性能好。
当然,前提是你的能力足够驾驭thread,如果不行就可以使用openmp这种不是计算机专业也能应用自如的工具了。

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧