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

Working with threads in c/c++, across many different platforms

据我了解,如果您使用 C,那么您必然会使用 POSIX 线程。

这些是 OS 依赖的,如果你使用 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 作为包装库。在 pre-C++11 中,请注意有许多可移植的线程库。一个著名的库是英特尔线程构建模块(又名 TBB)。

相关问题:Multi-Threading support in c11