Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
std::thread在C+中优于pthread+; < >我看到过代码使用 pTox来编写C++中的多线程程序以及使用 STD::Type 库的其他代码。使用线程库而不是pthread有什么好处?_C++_Multithreading_Pthreads - Fatal编程技术网

std::thread在C+中优于pthread+; < >我看到过代码使用 pTox来编写C++中的多线程程序以及使用 STD::Type 库的其他代码。使用线程库而不是pthread有什么好处?

std::thread在C+中优于pthread+; < >我看到过代码使用 pTox来编写C++中的多线程程序以及使用 STD::Type 库的其他代码。使用线程库而不是pthread有什么好处?,c++,multithreading,pthreads,C++,Multithreading,Pthreads,有多种优点。列出这些,不必按重要性顺序排列 它是跨平台的。例如,默认情况下,pthreads库在Windows上不可用。使用线程可以保证使用可用的实现 C++线程强制执行正确的行为。例如,试图破坏未连接、未分离线程的句柄会导致程序中止。这是一件非常好的事情,因为它让人们意识到他们在做什么 C++线程作为一种语言被完全纳入C++。不再需要在某种结构中分配参数,并将此结构的地址作为void*传递给pthread例程。通过使用可变模板,C++线程库允许您提供任何想要的线程启动例程的参数,并为您进行类

有多种优点。列出这些,不必按重要性顺序排列

  • 它是跨平台的。例如,默认情况下,pthreads库在Windows上不可用。使用线程可以保证使用可用的实现
  • C++线程强制执行正确的行为。例如,试图破坏未连接、未分离线程的句柄会导致程序中止。这是一件非常好的事情,因为它让人们意识到他们在做什么
  • C++线程作为一种语言被完全纳入C++。不再需要在某种结构中分配参数,并将此结构的地址作为void*传递给pthread例程。通过使用可变模板,C++线程库允许您提供任何想要的线程启动例程的参数,并为您进行类型检查。
  • C++线程有一组很好的周边类,比如promise。现在,您可以从线程中抛出异常,而不会导致整个程序崩溃
    这是什么?想找西部最快的枪?来吧伙计们。。。为什么反对投票???耐心等待编辑。完整的(编辑过的)答案足够好了@感谢支持:“SergeyA作为新手C++用户……我应该完全接受这个,还是应该学习pPults的这个指针(指针){函数(和指针)}的痛苦?这值得我花时间吗?还是只是浪费时间?(在课堂上,有限的学习时间…)bordeo,我不赞成给出如此广泛的建议。我相信,函数风格的指针在C++中仍然是相关的,但是显然它越来越不受欢迎和贬低。我会说,了解它,了解它是如何工作的,永远不要使用它:)