创建线程时,我们什么时候必须使用LPTHREAD_START_ROUTINE

when do we have to use LPTHREAD_START_ROUTINE when creating a thread?

本文关键字:LPTHREAD START ROUTINE 线程 我们 什么时候 创建      更新时间:2023-10-16

我注意到这个

HandleWorker = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)this->WorkerThread, this, 0, &Id);

我知道这个问题,它解释了LPTHREAD_START_ROUTINE类型定义线程的起始地址

但有人能向我解释一下我们什么时候必须使用它吗?我的意思是为什么我们不能只使用

HandleWorker = CreateThread(NULL, 0, this->WorkerThread, this, 0, &Id);

LPTHREAD_START_ROUTINE是一种定义为函数指针的类型,它接受一个空指针并返回一个DWORD。

如果this->WorkerThread是那种类型的,则不必强制转换它。