什么是更好的方式来启动一个线程_beginthread,_beginthreadx或CreateThread?
我试图确定什么是优势/劣势_beginthread,_beginthreadex和CreateThread.所有这些函数都返回一个新创建的线程的线程句柄,我已经知道CreateThread在发生错误时提供了一些额外的信息(可以通过调用来检查GetLastError)......但是当我发现时,我应该考虑哪些事情?我用这些功能?
我正在使用Windows应用程序,因此跨平台兼容性已经不可能了.
我已经浏览了msdn文档,但我无法理解,例如,为什么有人会决定使用_beginthread而不是CreateThread,反之亦然.
干杯!
更新:好的,感谢所有的信息,我也读过几个我不能打电话的地方,WaitForSingleObject()如果我用的话_beginthread(),但是如果我_endthread()在线程中打电话应该不行吗?这有什么交易?
在C++中像setTimeout-function这样的JavaScript最便宜的方法是什么?
我需要这个:从现在起5000毫秒,启动函数xy(没有参数,没有返回值).
原因是我需要为文本到语音初始化COM,但是当我在dll attach上执行它时,它会崩溃.
如果我不从dllmain调用CoInitialize,它工作正常.
我只需要调用CoInitialize和CoCreateInstance,然后在其他函数中使用该实例.我可以通过检查NULL来捕获未初始化的实例,但我需要初始化COM - 而不会崩溃.