紧急求助:VC++中,下例是如何体现是多线程的?线程和用普通的函数调用有何不同?

来源:百度知道 编辑:UC知道 时间:2024/06/22 17:03:09
BOOL CSetIDDlg::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateData(false);
ConfigComPort();//设置串口参数.
DWORD dwThreadId = 0;
//创建线程
m_hReadThread = CreateThread(NULL, 0, ReadThread, this, CREATE_SUSPENDED, &dwThreadId);
SetThreadPriority(m_hReadThread, THREAD_PRIORITY_NORMAL);
ResumeThread(m_hReadThread);
//设置焦点
(this->GetDlgItem(IDC_EDT_NEWID))->SetFocus();
return TRUE;
}

////**************************************************************
小女体会不到为什么要用线程,怎样体现出并行的呢?请高手不吝赐教。。。感激涕零。。。。
////**************************************************************
to Sadusaga :
又是你啊!

to Sadusaga :
呵呵,你太厉害了。。。谢谢。

to Sadusaga :
我好崇拜你呦。。。像崇拜偶像一样崇拜你呦,你可真是高手。呵呵。。

此处你不用多线程,程序就会阻塞,所有消息会阻塞,也就是你界面上无法处理。

假如你调用函数,那么这个函数是阻塞的,而线程不会,你可以试一下,把线程去掉,直接调用线程函数,你会看到区别。

怎么了?

没这么严重吧。。。

线程并行是由CPU处理的,不用你考虑

你只需要知道在需要同时处理两件事时可以用多线程就行了

不用线程,对于某些特定功能有时候程序难处理,或者效率低,或者代码繁琐,严重时会出现死锁
这时候就体现出多线程的优势了