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

Wha*_*tIf 3 c++ multithreading pthreads

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

Ser*_*eyA 8

有多个优点.列出那些,而不是按重要性顺序排列.

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

  • 这是什么?试图在西部最快的枪? (6认同)
  • @bordeo,我不赞成给出如此广泛的建议。我相信,函数指针风格在 C++ 中仍然相关,但显然它越来越不受欢迎和被弃用。我会说,了解它,了解它是如何工作的,永远不要使用它:) (2认同)