在我开始用C / C ++编写代码时开发的项目时,我正在修改代码。
关于线程。在我阅读的教程(来自2006年)中,他们说,在为Windows开发时,可以使用CreateThread()来创建线程。使用此函数比使用std :: thread更好吗?
它也更快吗?
答案 0 :(得分:0)
在加载CRT的应用程序中(与大多数C / C ++一样),根据规范,您无法使用CreateThread
:
另一方面,调用C运行时库(CRT)的可执行文件中的线程应使用
_beginthreadex
and_endthreadex
函数进行线程管理,而不是CreateThread和ExitThread;这需要使用CRT的多线程版本。如果使用CreateThread创建的线程调用CRT,CRT可能会在内存不足的情况下终止进程。
std::thread
会做正确的事。