pthreads 就像它的名称一样,是一种适用于多平台可移植的多线程操作库,在 Windows 上 pthreads 的下层就是 Win32 多线程 API。
pthreads 库是 C 语言接口,因此 C 和 C++ 都能使用。
如果想用 C++ 的跨平台多线程 API 可以用 boost.thread
如果不想跨平台,那就用 Native API 就可以了,比如 Windows 的 MFC 中的 CWinThread 类。
用哪个库,取决去工程的目标平台和将来的移植打算。
如果只在 Linux 下编程,那么 C++11 的 thread 的附加值几乎为零(我认为它过度设计了,同时损失了一些功能),你自己把 Pthreads 封装成一个简单好用的线程库只需要两三百行代码,用十几个 pthreads 函数实现 4 个 class:thread、mutex、lock_guard、condvar,而且 RAII 的好处也享受到了。