POSIX线程体验?(或推荐更好的一个)

avp*_*avp 2 c++ multithreading cross-platform pthreads

我正在寻找C++的轻量级多线程框架.我找到了POSIX线程.
请与POSIX线程分享您的实际经验:在开始之前,我想知道它来自真实的人的利弊,而不是来自维基.
如果你几乎把它与任何东西(也许,更好)进行比较,那么了解它们会很有趣.

UPD:跨平台功能对我来说非常重要,所以我很欣赏这个方向.

UPD2:我已经有了一个QNX/Win32框架的经验,但它不是轻量级的 - 哦,我忘了提, - 它是商业的,不是免费的,但我需要一个免费的.

Ant*_*eru 12

我发现Boost.Threads非常好,特别是在1.35重写之后.Windows上的POSIX线程并不是那么简单,它是一个C API,所以我肯定更喜欢Boost.它拥有您需要的所有东西,便于携带并且几乎不需要设置.

  • Boost也不是面向Windows的,而是跨平台的.与pthread不同,它利用了C++特性,并根据C++习语设计.它通过pthreads为您提供的一些东西是:类型安全性,更灵活地传递参数新线程和更简单的使用.Boost广泛使用RAII,例如,要创建一个锁,您只需创建一个本地对象,当它超出范围时,就会释放锁.比pthreads更简单,你明确必须调用一个函数来释放一个锁.(如果你忘了,或者抛出异常,你会被搞砸) (2认同)