gpt4 book ai didi

c++ - Linux 线程傻瓜。有人可以解释一下 linux 中多线程库之间的区别吗?

转载 作者:太空狗 更新时间:2023-10-29 20:28:55 24 4
gpt4 key购买 nike

Linux 和 C++ 的新手。我想创建一个只需要在 linux (ubuntuz) 上运行的应用程序,我需要使用基本的读写锁。

我看到有几个库提供了“并发能力”。例如要使用互斥量,至少有 3 个选项:

  1. pthread_mutex_lock (pthread.h)

  2. boost::mutex

  3. std::mutex(互斥量)

谁能解释一下各种方法之间的区别?

最佳答案

  • pthreads 是一个 C-API,可用于所有符合 posix 标准的系统(pthreads 代表 Posix THREADS)。

  • boost::mutex 是一个仅限 C++ 的 API,它依赖于“boost”库(您不能在 C 代码中使用它;您添加对“boost”的依赖)

    <
  • 许多来自 boost 的功能最终将出现在 C++ 标准库中,例如线程;对于 C++11,你有 std::mutex,但你需要一个足够新的编译器来支持最近添加的内容。例如如果您希望您的应用程序可以向后移植到较旧的发行版,您可能希望避免它。

关于c++ - Linux 线程傻瓜。有人可以解释一下 linux 中多线程库之间的区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com