繁体   English   中英

没有 PThreads 的同步

[英]Synchronization without PThreads

在 C 编程中...

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

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

编辑
在@tmyklebu 的回答下查看我的评论

我想我的问题是“为什么要避免使用 pthreads?” pthreads 为内核线程和同步原语提供了一个健全且可移植的接口。

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

在 Linux 上,查看futex系统调用。

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

MPI 也是一回事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM