Using std::thread or CreateThread()?

Using std::thread or CreateThread()?

本文关键字:CreateThread or std thread Using      更新时间:2023-10-16

我在做一个我开始使用 C/C++ 编码时开发的项目时正在修改我的代码。

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

也快吗?

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

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

另一方面,std::thread会做正确的事情。