【问题标题】:C and POSIX PthreadsC 和 POSIX Pthreads
【发布时间】:2011-08-15 12:29:47
【问题描述】:

我刚刚开始阅读 C 中的线程,使用 pthreads。我知道 Pthreads 可用于 Windows,但是基于多线程 WINdows 的 C/C++ 应用程序主要使用 Pthreads 吗? 在 Unix/Linux 中,Pthreads 也是开发人员编写多线程 C/C++ 代码的主要方式吗?

【问题讨论】:

    标签: c multithreading pthreads posix


    【解决方案1】:

    不,大多数人会使用他们正在使用的应用程序/gui 库的线程抽象,例如MFC。或者在纯 C 的情况下,直接使用 windows API。

    Pthreads 代表“POSIX”线程,它基本上是标准化的 unix(-like),该标准在 Windows 上除了 cygwin 等专用 POSIX 仿真之外几乎没有意义。

    【讨论】:

    • 如果我主要对 Windows 编程感兴趣,Pthreads 不是很有用吗?
    • Pthreads 不是 windows 编程的标准,但是有一个 windows 的 pthreads 实现(如果你想做可移植线程编程)
    • 与直接使用 WINAPI 相比,pthreads 确实没有任何大的缺点,但你有一个很大的优势,如果你想让你的应用程序跨平台,pthreads 代码也可以在其他操作系统上工作稍后。
    • smerlin:如果是这样,WaitforMultiplehandles 的等价物是什么? :-) 你会使用什么 pthreads 库而不附带一些非本地 Windows 仿真库?
    【解决方案2】:

    新的 C++ 标准 C++11 支持可移植线程。我肯定会这样做,只是 Visual Studio 还没有实现它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      相关资源
      最近更新 更多