Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Лекция - Нишки


Информационни технологии | 2009-12-04 | 62 сваляния

типове нишки: 1.UI с цикли за съобщения; прозорци; пр: обмен файлове.

2. работни фаонови задачи; пр. анимация на изображения.

създаване работна нишка с MFC: вместо ::CreateThread() - CWinThread::AfxBeginThread() [инициялизира среда на изпълнение, проверява състоянието й, обезопасява достъпа до run-time ф-ии].

CWinThread* pThread = AfxBeginThread( ThreadFunction, &threadinfo);

/* CWinThread* AfxBeginThread (AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTS lpSecurityAttrs = NULL) */ създаване UIнишка с MFC: има свой клас производе на CWinThread (подобен на клас на прил.):

class CUIThread : public CWinThread m_pMainWndShowWindow(..);

{ DECLARE_DYNCREATE (CUIThread) m_pMainWndUpdateWindow();

public: virtual BOOL InitInstance(); }; return TRUE; }

IMPLEMENT_DYNCREATE (CUIThread, CWinThread)western" style="text-indent: 0in; margin-bottom: 0in"> BOOL CUIThread::IniInstance() public CFrameWindow

{ m_pMainWnd = new CMainWindow; { // констр. - пуска нишката

// методи за обр. съобщения

преустановяване на нишка с MFC: CWinThread::SuspendThread(); CWinThread:: ResumeThread(); брояч на прустановяването (0 стартитване ).

приспиване на нишка с MFC: ::Sleep(време ); Sleep( 0 );

пр: анимации на множество обекти; анимации през различни интервали (Sleep( 0)).

завършване на нишка с MFC: 1. return;

2. AfxEndThread(); ::PostQuitMessage();

тест на състояние: DWORD test; ::GetExitCodeThread(pThreadm_hThread, &test);

изтриване обект от клас CWinThread: 1. MFC авт. изтрива указател към обекта при завършване на нишката.Дестукторът на CWinThread затваря и манипулатора й. Проблем възникава с за привършила нишка. Ако копираме pThreadm_hThread в променлива в нишката преди завършването й отново възможен проблем. Тогава:

  1. CWinThread* pThread = AfxBeginThread (ThreadFunc, NULL, Thread_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);

pTheadm_bAutoDelete = FALSE; pThreadResumeThread();

..

Лекция - Нишки

Добави своя коментар:



Тагове от реферата: , , , ,


Подобни материали


СИСТЕМИ БАЗИ ДАННИ И БАЗИ ЗНАНИЯ Информационни технологии | 2010-11-16 | 116 прочитания
Търсене на информация в Интернет. Търсещи машини. Характеристика Информационни технологии | 2010-11-16 | 80 прочитания
Релационите БД Информационни технологии | 2010-11-16 | 15 прочитания
Умножение на двоични числа с фиксирана запетая в прав код Информационни технологии | 2010-11-16 | 180 прочитания
Видеомонитори с електронно-лъчева тръба. Видеоконтролери Информационни технологии | 2010-11-16 | 72 прочитания
Основни програмно-технически мерки Информационни технологии | 2010-11-16 | 35 прочитания
Монитори с плоски екрани Информационни технологии | 2010-11-16 | 66 прочитания
Управление на безопасността Информационни технологии | 2010-11-16 | 44 прочитания
Информационни технологии и Интернет в образованието Информационни технологии | 2010-11-16 | 231 прочитания
Функции , интервали , именовани пространства и хедъри Информационни технологии | 2010-11-16 | 79 прочитания