_beginthreadex和CreateThread
_beginthreadex 和 _beginthread 是C++运行时库的函数
CreateThread是windows系统运行时库的函数
函数介绍
CreateThread
先从比较常见的CreatThread说起,CreateThread函数创建一个在调用进程的地址空间内执行的线程。
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES 【lpThreadAttributes】, //指向线程安全属性的指针
DWORD 【dwStackSize】, //初始线程堆栈大小,以字节为单位
LPTHREAD_START_ROUTINE 【lpStartAddress】, //指向线程函数的指针
LPVOID 【lpParameter参数】, //参数新线程
DWORD 【dwCreationFlags】, //创建标志
LPDWORD 【lpThreadId】 //指向返回的线程标识符
);
返回值
如果函数成功,则返回值是新线程的句柄。
如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.
CreateThread Demo:
/* 创建第一个线程。主进程结束,则撤销线程。 */
#include<Windows.h>
#include<stdio.h>
DWORD WINAPI ThreadFunc(LPVOID);
void main()
{
HANDLE hThread;
DWORD threadId;
hThread = CreateThread(NULL, 0, ThreadFunc, 0, 0, &threadId); // 创建线程
printf("我是主线程, pid = %d\n", GetCurrentThreadId()); //输出主线程pid
Sleep(2000)

本文对比讲解了C++运行时库中的_beginthreadex与BeginThread函数及Win32 API中的CreateThread函数。介绍了它们的参数、返回值、使用场景与注意事项,以及线程终止的方法。
最低0.47元/天 解锁文章
3450

被折叠的 条评论
为什么被折叠?



