C 无pthread的同步

C 无pthread的同步,c,multithreading,C,Multithreading,在C编程中 有没有任何库可以在不使用POSIX线程的情况下并行化和同步代码 我听说过OpenMP。但是在检查了hello world实现的符号表之后,我发现OpenMP只是一个基于PThreads构建的库 编辑 请参阅@tmyklebu的答案下的我的评论,我想我的问题是“为什么要避免pthreads?”pthreads为内核的线程和同步原语提供了一个合理且可移植的接口 话虽如此,直接使用平台的本机原子内置(cmpxchg或LL/SC或您拥有的东西)通常很有用,因为有时没有理由让内核参与同步 在L

在C编程中

有没有任何库可以在不使用POSIX线程的情况下并行化和同步代码

我听说过OpenMP。但是在检查了hello world实现的符号表之后,我发现OpenMP只是一个基于PThreads构建的库

编辑
请参阅@tmyklebu的答案下的我的评论,我想我的问题是“为什么要避免pthreads?”pthreads为内核的线程和同步原语提供了一个合理且可移植的接口

话虽如此,直接使用平台的本机原子内置(cmpxchg或LL/SC或您拥有的东西)通常很有用,因为有时没有理由让内核参与同步

在Linux上,查看
futex
系统调用

英特尔发布了这个“线程构建块”的东西。AMD也有类似的情况。我几乎没用过这两个词,所以我不会试图对它们发表评论


MPI也是一种东西。

是的,MPI看起来很有希望,但我正在寻找一种线程实现,它不是PThreads,而只是针对PThreads对库进行基准测试。请参阅PThreads需要一些时间来获取锁(旋转时甚至需要更多时间)。这些数字是好还是坏?没有人会知道,除非有一个竞争对手做得更好或更差;于是搜索,于是问题就来了。@Yasky如果你在寻找锁的基准测试,你可能想签出。你使用什么平台?编译程序?编译器版本?如果你想看GCC,我也在Linux机器上,英特尔处理器-4核,GCC-4.7