在过去五年中,主要从事 Java 和 .NET 的一些工作,并且在那段时间没有编写任何重要的 C 或 C++。所以已经离开那个场景一段时间了。
如果我今天想编写一个 C 或 C++ 程序,它执行一些多线程并且源代码可在 Windows、Mac OS X 和 Linux/Unix 之间移植——PThread 是一个不错的选择吗?
C 或 C++ 代码不会执行任何 GUI,因此无需担心任何这些。
不过,对于 Windows 平台,我不想带太多 Unix 包袱,就 unix 仿真运行时库而言。更喜欢适用于 Windows 的 PThread API,它是现有 Windows 线程 API 的尽可能薄的包装器。
附录编辑:
我倾向于使用 boost:thread - 我也希望能够使用 C++ try/catch 异常处理。即使我的程序相当小而且不是特别 OOPish,我还是喜欢使用类和命名空间来封装——而不是 C 的非实体函数。