使用std :: thread还是CreateThread()?

时间:2016-01-15 22:32:50

标签: c++ multithreading

在我开始用C / C ++编写代码时开发的项目时,我正在修改代码。

关于线程。在我阅读的教程(来自2006年)中,他们说,在为Windows开发时,可以使用CreateThread()来创建线程。使用此函数比使用std :: thread更好吗?

它也更快吗?

1 个答案:

答案 0 :(得分:0)

在加载CRT的应用程序中(与大多数C / C ++一样),根据规范,您无法使用CreateThread

  

调用C运行时库(CRT)的可执行文件中的线程应使用_beginthreadex and _endthreadex函数进行线程管理,而不是CreateThread和ExitThread;这需要使用CRT的多线程版本。如果使用CreateThread创建的线程调用CRT,CRT可能会在内存不足的情况下终止进程。

另一方面,

std::thread会做正确的事。