在C++中实现线程的标准做法?

Dyl*_*lan 2 c++ multithreading

我期待在未来几周内接受C++的采访.(yay)所以我一直在重新学习C++并进行学习.不幸的是,我已经意识到我从未在C++中实现线程,并且有点担心并发性测验.

据我所知,C++在Linux中使用pthreads,在Windows中使用其他一些设备.它是否正确?还有其他行业标准,更多的OO方式来处理我应该知道的C++中的线程吗?是否有任何好的网络资源可以指导我在C++中练习和学习线程?

谢谢!

Mar*_*ett 9

有一个boost线程库,它可能是最接近标准的.

通常,线程由OS提供,因此您可以获得操作系统提供的任何内容.人们首次接触线程通常是在GUI中,以允许后台计算不阻止GUI,因此人们倾向于使用特定GUI框架(MFC/Qt等)提供的线程函数

  • 重新"......这可能是最接近标准的":这实际上是非常真实的,因为它与即将推出的新C++标准中的那个很相似. (2认同)

sto*_*tal 5

目前C++完全不知道线程存在.不同的操作系统提供了线程库以使其可用.C++的下一个版本,即所谓的C++ 0x,将成为一个线程库标准.如果我今天要启动一个多线程应用程序,我会使用boost线程或者我可能正在使用的任何软件包(即QT或WxWidgets)的一部分的线程.

  • 值得注意的是,boost线程可能是C++ 0x线程的基础,尽管我还没有检查过. (3认同)