Using std::thread or CreateThread()?
Using std::thread or CreateThread()?
我在做一个我开始使用 C/C++ 编码时开发的项目时正在修改我的代码。
这是关于线程的。在我读过的教程(2006年)中,他们说,在为Windows开发时,可以使用CreateThread()来创建线程。使用这个函数比使用 std::thread 更好吗?
也快吗?
在加载 CRT 的应用程序中(与大多数 C/C++一样),根据规范,您不能使用 CreateThread
:
可执行文件中调用 C 运行时库 (CRT) 的线程应使用
_beginthreadex
和_endthreadex
函数进行线程管理,而不是 CreateThread 和 ExitThread;这需要使用 CRT 的多线程版本。如果使用 CreateThread 创建的线程调用 CRT,则 CRT 可能会在内存不足的情况下终止进程。
另一方面,std::thread
会做正确的事情。
相关文章:
- 瓦尔格林德:数学函数"Conditional jump or move depends on uninitialised value(s)"
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 模式"allocate memory or use existing data"
- N-API include an .so or dll
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 将 OR 逻辑运算符从 C++ 转换为 Fortran
- CPP 中的瓦尔格林德和记忆泄漏:"Conditional jump or move depends on uninitialised values"
- 我如何将 OR 与 if 语句一起使用字符串
- 将 if 语句中的字符与 or 进行比较
- Google Or-Tools Glop:如何创建指向 const 对象的指针数组?
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- "No such file or directory" C++标头问题
- 处理 std::enable_if<...中谓词的逻辑"OR">
- C++ 虽然语句不适用于字符串和"or"
- 我在 #include < bits/stdc++h.> 放置时出错"No such file or directory"
- Python Bitwise OR
- 逻辑'double free or corruption (fasttop)'错误
- Using std::thread or CreateThread()?