CreateThread函数的多个参数

Ane*_*nan 7 c++ createthread

当我使用CreateThread API方法时,当我想传递LPVOID lpParameter传递的多个参数时,我需要做什么?

Att*_*ila 8

您可以创建一个包含所有相关数据的结构,并将指针传递给该结构的实例(填充适当的参数) CreateThread()

在线程创建函数中,您需要将LPVOID背面强制转换为指向结构的指针以使用它.


Dav*_*nan 5

将这些参数放入一个在堆上分配的结构中,并在LPVOID参数中传递结构的地址.然后,您的线程函数可以LPVOID转换为指向struct的指针并读出参数.

将它放在堆上是很重要的,因为如果将它放在调用的线程的堆栈上,CreateThread则在线程过程尝试访问它时它可能无效.