Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Вниз

Создание отдельной нити, но не простой...   Найти похожие ветки 

 
SPeller   (2003-05-11 14:24) [0]

Всем доброго времени суток!
У меня встала необходимость создать в своей программе нить (Thread), которая будет висеть постоянно и обрабатывать посылаемые из главного потока команды. Слышал я о такой функции, как PostThreadMessage, которая шлёт сообщение потоку и не требует наличия в потоке окна. Так вот, хочу спросить, как мне обустроить получение и обработку таких сообщений отдельным потоком, как заставить поток ждать сообщение (чтобы не загружать процессор циклом), как всё это дело грамотно реализовать. За полезные примеры буду очень благодарен.


 
Polevi   (2003-05-11 19:08) [1]

MsgWaitForMultipleObjects


 
Polevi   (2003-05-11 19:22) [2]

.. или GetMessage

procedure TT.Execute;
var
msg:TMsg;
begin
while not Terminated do
begin
GetMessage(msg,0,0,0);
case msg.message of
WM_QUIT:Terminate;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
t:=TT.Create(false);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
PostThreadMessage(T.ThreadID,WM_QUIT,0,0);
end;



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
14-67971
race1
2003-07-07 09:02
2003.07.21
php & global var


14-68068
Кен
2003-06-28 04:00
2003.07.21
Как замерять время выполнения отдельных частей программы ?


14-68063
Nik8.
2003-07-06 00:27
2003.07.21
Вопрос 2


14-68014
AlexRush
2003-07-03 20:39
2003.07.21
А помнит ли кто нибудь первоначальное значение слова hacker ?


4-68112
ИгорьОк
2003-05-20 04:43
2003.07.21
Доступ к Notepad





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский