上次在实例学MFC(1)--线程 中我们讲了怎么样实现线程,顺水推舟,我们就顺便讲讲线程间的通信吧。
线程间的通信有很多方法:共享内存,Socket通信,信号量,事件和消息等。
今天我们主要通过消息和事件来实现。
VC6.0中根据向导,创建MFC项目(exe,对话框式)
这次我们在窗体中添加一个ListBox空间,ID为IDC_LIST1,在类向导中,为IDC_LIST1添加一个成员m_cList,Type是CListBox。
我们要实现一个什么功能呢?当我们点击OK按钮的时候,触发一个事件,在线程中监视这个事件,但受到事件的时候,发出一个消息,主线程收到这个消息的时候,在ListBox显示一条消息。(感觉像没事找抽型,直接点击一下按钮就显示一条消息不就行了么,何必大费周折。不过我们主要是想展示一下消息和事件的使用方法,大家就先咽下这口气吧)
#define
my_message (WM_USER + 100)
//
自定义消息
static HANDLE myEvent = NULL; // 定义一个事件
CWinThread * m_pThread; // 线程的句柄
static int icount = 0 ; // 用来显示的消息
static CString msgToShow =
static HANDLE myEvent = NULL; // 定义一个事件
CWinThread * m_pThread; // 线程的句柄
static int icount = 0 ; // 用来显示的消息
static CString msgToShow =