C++多线程编程要用到哪些库?如何编译这些库?

如题所述

千万别以为现在的C++没有原生的多线程库

OpenMP 是一个多线程库,不过他还需要编译器的支持,好在现在绝大多数都已经支持(这个可能是目前最流行的原生多线程库了)

C++的标准头process.h(太老的没有,2002年后的基本都有)中有操作进程和执行环境的函数,能实现简单的进程级或线程级并行操作。
使用起来非常非常方便。windows平台的C语言编译工具也都有这个头,unix平台上的unistd.h跟这个头很相似,函数名与用法也基本一样。

还有一些其他的第三方多线程库,你可以网上搜搜,但是注意是否跨平台等问题

如果你要使用操作系统相关的多线程API,那么也就没什么选择余地,windows上只能用windows的多线程API (参考MSDN) unix同理

OpenMP的优点是跨平台,功能丰富强大(例如提供了各种锁、信号等),代码改动也比较小,使用起来也非常方便快捷。缺点是没有像直接用系统API时透明感,毕竟使用系统API时,程序员完全控制了逻辑,非常直观,当然这也带来了错误风险和代码复杂度
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-05
c++和c本身都没有标准多线程实现。

但是各个厂家都扩展了c,c++,例如微软就有自己的多线程函数库。

如果没有标准库的话,为什么不把这样重要的内容加入到标准中来呢?
c的发明很早,后续开发c编译器的厂家只能发展自己的扩展库,你不能说你自己的扩展库就是一个标准,因为那是和版权问题相关的。
第2个回答  2010-10-05
C++中写多线程程序还是用CreateThread函数吧。
相似回答