Многонишково програмиране със С++ 6.0
| Информационни технологии | 2009-12-04 | 120 сваляния |
Многонишково програмиране със С++ 6.0
-
Конвенционален механизъм в Windows с извличане на съобщения
-
Обработка по време на бездействие:
CWinApp::OnIdle() // викане и предефиниране
-
Многонишково програмиране, управлявано от ОС (NT, Win95)
= user interface threads
CMyWinThread : CWinThread
CMyWinThread::AfxBeginThread
CMyWinThread :: InitInstance()
= worker threads
А. Главна ф-ия на thread и стартиране на thread:
CWinThread* pThread = AfxBeginThread( MyThreadProc, ..,
THREAD_PRIORITY_NORMAL ) ;
UINT MyThreadProc( LPVOID pParam )
{ // изпълнява задачите на thread
return 0; }
.. CWinThread::SuspendThread(); CWinThread::ResumeThread();
B. Комуникация гл. thread worker thread
== предаване на съобщение , ако има цикъл за обр. на съобщения;
== глобални променливи:
g_nCount = 0;
while( g_nCount++< 100) {
::InterlockedIncrement((long) &g_nCount).}
return 0; }
- съображения при предаване на съобщения към гл. нишка;
== Събития при thread synchronization.
- глобален обект CEvent : CSyncObject {}
Тагове от реферата: конвенционаен, съобения, дейвие, мехнизъм, Многонишково, програмиране, Windows, време











