根据我的理解,如果你使用 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)。
关于c++ - 在许多不同的平台上使用 c/c++ 中的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71285611/