当我使用CreateThread API方法时,当我想传递LPVOID lpParameter传递的多个参数时,我需要做什么?
您可以创建一个包含所有相关数据的结构,并将指针传递给该结构的实例(填充适当的参数) CreateThread()
在线程创建函数中,您需要将LPVOID背面强制转换为指向结构的指针以使用它.
将这些参数放入一个在堆上分配的结构中,并在LPVOID参数中传递结构的地址.然后,您的线程函数可以LPVOID转换为指向struct的指针并读出参数.
将它放在堆上是很重要的,因为如果将它放在调用的线程的堆栈上,CreateThread则在线程过程尝试访问它时它可能无效.
| 归档时间: |
|
| 查看次数: |
8648 次 |
| 最近记录: |