当我使用LPVOID方法时,当我想在传入CreateThread lpParameter的地方传递多个参数时,我需要怎么做?
发布于 2012-05-15 19:52:45
您可以创建一个保存所有相关数据的结构,并将指向该结构实例的指针(用适当的参数填充)传递给CreateThread()
在线程创建函数中,您需要将LPVOID转换回指向您的结构的指针才能使用它。
发布于 2012-05-15 19:52:54
将这些参数放入在堆上分配的结构中,并在LPVOID参数中传递该结构的地址。然后,您的线程函数可以将LPVOID转换为指向结构的指针并读出参数。
把它放在堆上是很重要的,因为如果把它放在调用CreateThread的线程的堆栈上,那么在线程过程试图访问它时,它可能是无效的。
https://stackoverflow.com/questions/10600111
复制相似问题