CreateThread()方法创建线程时出错
Posted qshl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CreateThread()方法创建线程时出错相关的知识,希望对你有一定的参考价值。
最近在使用CreateThread()方法创建线程时提示以下错误
我的环境如下:
1. VS2019
2. MFC基于对话框
查阅孙鑫写的书《VC++深入详解》修订版多线程一章中,也提到过这个错误,解决方法是因为线程方法声明在对话框的类中,成为了此类中的一个方法,要在前面添加static修饰符,使其成为静态方法,与类的对象无关,但是按照其方法修改后还是不行,可能是因为开发环境的不一样,书中用的是VC6.0,二十年前的环境!
在百度多次后一样无法解决,自己瞎尝试了将线程函数的类型强制转换为LPTHREAD_START_ROUTINE类型后,问题得到解决
HANDLE m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadFun1, NULL, 0, NULL);
以上是关于CreateThread()方法创建线程时出错的主要内容,如果未能解决你的问题,请参考以下文章
win32程序创建线程用c语言库的_beginthread还是API的CreateThread?哪种用的多?
小解_beginthreadex与_beginthreadex和CreateThread的区别
c# 用Windows API CreateThread函数如何创建的线程
VC++中通过CreateThread创建的线程,当线程入口函数执行完后,线程自己会关闭吗?