请问一个关于混合语言调用与多线程的问题
我有个使用了VB作界面,VC编写算法和功能的项目。
其中在vc的dll里面调用的一个接口函数会将结果传给一个使用打印机的函数进行调用,于是我想使用多线程。
类似的代码如下:
extern "C" __declspec (dllexport) int OnDll2(char m_strFileName)
{
......
AfxBeginThread(PrintThreadProc, &m_PrintThreadInfo); //启动线程
WaitForSingleObject(m_hEventInfoCopyDone, INFINITE); //等待线程结束
}
打印函数为
UINT PrintThreadProc(LPVOID pParam)
{
....
::PostMessage(thInfo.hMainWnd, WM_THREAD_END, 0, 0); //返回线程结束消息
return 0; // thread completed successfully
}
不知道以上的操作是否可行?且用Vb进行调用的时候,会不会阻塞住VB的调用?
因为第一次编写多线程dll,所以请各位大侠指导,说说自己的经验,先谢谢了。