c++ - 在许多不同的平台上使用 c/c++ 中的线程

标签 c++ c multithreading pthreads posix

根据我的理解,如果你使用 C,那么你必然会使用 POSIX 线程。

这些取决于操作系统,如果您使用 Linux,则必须使用 <pthread.h> ,而如果您使用 Windows,则必须使用 <windows.h> .

这些东西也可以转移到 C++。

但是,如果您使用 C++,特别是 C++11 之后的版本,那么您可以跳过 POSIX 线程方法,并使用 #include <thread>你就可以出发了。

这样的理解正确吗?有什么我想念的吗?

最佳答案

自 C11 起,标准 C 语言直接支持线程(使用 threads.h)。请注意,主流编译器(Clang、GCC、ICC、MSVC)都支持 OpenMP,可用于使用多线程并行计算代码(通常是数字代码)。 OpenMP 可用于 C 和 C++(以及 FORTRAN)版本。另请注意,Windows 上支持 PThreads 作为包装库。请注意,在 C++11 之前的版本中,有许多可移植线程库。一个著名的库是英特尔线程构建模块(又名 TBB)。

相关问题:Multi-Threading support in c11

关于c++ - 在许多不同的平台上使用 c/c++ 中的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71285611/

相关文章:

c++ - 我如何才能获得对迭代器指向的对象的引用?

c++ - 将一长串字符串映射到枚举的有效方法

c - 由于头文件导致的很多错误

java - 将所有接口(interface)实例注册到某个全局容器

multithreading - go进程产生的操作系统线程数量永远不会减少吗?

c++ - 线程矩阵乘法

c++ - 为什么 C++ 编译器不消除 new 返回的指针的空检查?

c - 返回字符串中包含子字符串的第一个索引的递归函数

c - 程序在接受 C 中输入的第二个字符串之前运行

java - java 7 中线程的使用有哪些增强?