На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Message Deadlocks



A thread that calls the SendMessage function to send a message to another thread cannot continue executing until the window procedure that receives the message returns. If the receiving thread yields control while processing the message, the sending thread cannot continue executing, because it is waiting for SendMessage to return. This situation is called a deadlock. The receiving thread need not yield control explicitly; calling any of the following functions can cause a thread to yield control.

DialogBox
DialogBoxIndirect
DialogBoxIndirectParam
DialogBoxParam
GetMessage
MessageBox
PeekMessage
A window procedure can determine whether a message it has received was sent by another thread by calling the InSendMessage function. Before calling any of the functions in the preceding list while processing a message, the window procedure should first call InSendMessage. If this function returns TRUE, the window procedure must call the ReplyMessage function before any function that causes the thread to yield control.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Тупики Сообщения



Резьба, которая вызывает функцию SendMessage, чтобы посылать сообщение в другую резьбу не мочь продолжить выполняться до процедуры окна, которая получает возврат сообщения. Если получающая резьба дает управление при обработке сообщения, посылка резьбы не может продолжить выполнять, поскольку она ждет SendMessage, чтобы возвращаться. Эта ситуация вызвана тупик. Получающая резьба не должна дать управление явно; вызывая любое из следующего функций может заставить резьбу, чтобы давать управление.

DialogBox DialogBoxIndirect DialogBoxIndirectParam DialogBoxParam GetMessage MessageBox PeekMessage
Процедура окна может определить независимо сообщение это получило, был послан другой резьбой вызывая функцию InSendMessage. Перед разговором любая из функций в предыдущем списке при обработке сообщения, процедура окна должна сначала вызывать InSendMessage. Если эта функция возвращает ИСТИНУ, процедура окна должна вызвать ReplyMessage функционирует перед любой функцией, которая заставляет резьбу, чтобы давать управление.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz