以前做多线程,考虑的确太过与简单,这次决定好好规划一下:
1 基本的API函数 : _AfxbigenThreadex(); 里面有几个,参数:
2 线程间的通讯:
1 )消息方式: ::PostThreadMessage(m_ManagerThread.m_VecThread[0].m_Thread.T_dwThreadId,WM_Thread,1,1);m_ManagerThread.m_VecThread[0].m_Thread.T_dwThreadId为线程ID号,WM_Thread用户定义的消息,1,1,分别是两个传输的参数. 这个函数是用来发送的 ,在接受方必须有以下代码:
MSG tMsg;
// 创建消息队列
::PeekMessage(&tMsg, NULL, 0, 0, PM_NOREMOVE);
// 进入消息循环
while(::GetMessage(&tMsg, NULL, 0, 0))
{
switch(tMsg.message)
{
default:
::TranslateMessage(&tMsg);
::DispatchMessage(&tMsg);
break;
}
}
2 共享数据区比较简单,就不论述了
3 进程间的同步: