这是问题所在:我有两个被描述为三元组向量的稀疏矩阵。任务是使用 Win 32 API 的并行处理为它们编写乘法函数。所以我需要知道我该怎么做:
1) 在 Win 32 API 中创建一个线程
2) 为其传递输入参数
3) 获取返回值。
提前致谢!
编辑:“进程”更改为“线程”
这是问题所在:我有两个被描述为三元组向量的稀疏矩阵。任务是使用 Win 32 API 的并行处理为它们编写乘法函数。所以我需要知道我该怎么做:
1) 在 Win 32 API 中创建一个线程
2) 为其传递输入参数
3) 获取返回值。
提前致谢!
编辑:“进程”更改为“线程”
嗯,你的问题的答案是CreateProcess
和GetExitCodeProcess
。
但是你的问题的解决方案根本不是另一个进程,而是更多的线程。并且可能 OpenMP 是一种比创建自己的线程更合适的机制。
如果您必须直接将 Win32 API 用于线程,则该过程类似于:
CreateThread
并传递工作项描述符的地址。WaitForMultipleObjects
以加入工作线程。为了提高效率,您可以使用 Windows 线程池并调用QueueUserWorkItem
. 但是,虽然您不必自己创建线程,但您需要事件句柄来将任务连接回主线程。这与我怀疑的代码量大致相同。