c ++中线程与线程的优势

时间:2015-09-14 20:45:58

标签: c++ multithreading pthreads

我见过使用pthread在C ++和其他使用线程库的代码中编写多线程程序的代码。使用线程库而不是ptheard有什么好处?

1 个答案:

答案 0 :(得分:7)

有多种优势。列出那些,而不是按重要性顺序列出。

  1. 这是跨平台的。例如,默认情况下,pthreads库在Windows上不可用。使用线程保证将使用可用的实现。
  2. C ++线程强制执行正确的行为。例如,尝试破坏未连接,未分离的线程的句柄会导致程序中止。这是一件非常好的事情,因为它让人们意识到他们在做什么。
  3. C ++线程作为一种语言完全融入C ++。您不再需要在某种结构中分配您的参数,并将此结构的地址作为void *传递给您的pthread例程。通过使用可变参数模板,C ++线程库允许您为线程启动例程提供任意数量的参数,并为您进行类型检查。
  4. C ++线程有一组很好的周围类,比如promise。现在你实际上可以从线程中抛出异常,而不会导致整个程序崩溃!