这里是嵌入式系统的新手。我必须同步两个线程与事件。我的代码只显示"Show in edit box 2sec"
,并不打算secondthread
来显示我在那里。我应该在一个编辑框中显示一条消息2秒钟,两秒后我应该显示另一条消息3秒钟。这应该永远重复。线程与事件同步
void FirstThread(void)
{
int i;
//write data to edit box
CString szEdit;
szEdit.Format(_T("Show in edit box 2sec"));
m_editbox->SetWindowText(szEdit);
while(1){
WaitForSingleObject (hEvent, INFINITE);
for(i=0;i<1;i++){
Sleep(2000);
}
SetEvent (hEvent);
}
}
void SecondThread (void)
{
int i;
//write data to edit box
CString szEdit;
szEdit.Format(_T("Show in edit box 3 sec"));
m_editbox->SetWindowText(szEdit);
while(1){
WaitForSingleObject (hEvent, INFINITE);
for(i=0;i<1;i++){
Sleep(3000);
}
SetEvent (hEvent);
}
}
是否可以安全地设置UI的东西,例如这个'm_editbox'来自两个不同的线程? – doctorlove