Я использую Indy 9 с Delphi 5. В моем приложении я хочу общаться с сетевым устройством через UDP. Поэтому я использую UDPServer Comp. в классе, который является производным от TThread.
Когда я пишу аналогично следующему коду, загрузка процессора составляет 100%.
в теме:
while not terminated do begin
if GetMessage(Msg, 0, 0, 0) then begin
if Msg.message = WM_UDPMSG then
Break
else
DispatchMessage(Msg);
end;
end;
и событие OnUDPRead:
try
// Processing the data here
except
PostThreadMessage(ThreadId, WM_UDPMSG, 0, 0);
end;
Когда я использую функцию Sleep в цикле while-do или в событии OnUDPRead, никаких изменений не происходит. Тем не менее загрузка процессора составляет 100%.
Приоритет моей темы - Нормальный.
Как мне решить мою проблему?