Danke für die Tips.
Das WaitForsingleObject war ja ein Fehler, es wird ja so gemacht:
Delphi-Quellcode:
while not Terminated do
begin
Return := MsgWaitForMultipleObjects (Handles, HandleBuffer, False, 251, QS_ALLINPUT);
//case Return do
//WAIT_OBJECT_0
//WAIT_OBJECT_0+Handles
// : begin
// while PeekMessage(MessageData, 0, 0, 0, PM_REMOVE) do
// begin
// Mach irgendwas mit der Nachricht...
// end;
// end;
//WAIT_TIMEOUT
//end;
//zyklischer Aufruf
var sw := TStopwatch.StartNew;
var TC : DWORD;
var TC2 : DWORD;
TC := GetTickCount;
//Synchronize(MeineFunktion);
//Queue(Nil, MeineFunktion);
//ForceQueue(Nil, MeineFunktion);
t1 := sw.ElapsedMilliseconds;
//Protokollierung von t1 ...
TC2 := GetTickCount - TC;
//Protokollierung von TC2 ...
end ;
Das ist aber nur der Thread, der die Daten am Ende verarbeitet. Nicht der UDP Empfang oder Sender Thread...
Hat jemand mal ein Beispiel für Daten, die in eine Threadliste von einem Thread X geschrieben werden und von einem Thread y gelesen werden?
Ich möchte aber den Thread y auch per Message oder Event über bestimmte Dinge informieren können von außen.
Also ein Beispiel mit threadsichere Queue/Liste UND Event.
Dann kann ich das gerne mal versuchen, habe damit noch nichts zu tun gehabt