Kommunikation zischen Threads?



  • Threas A hat eine Berechnungsroutine, und soll sich bei Thread B melden wenn er fertig ist... Ist das mit Post/SendMessage möglich? oder muss ich auf CEvent Methode zurückgriefen?



  • PostMessage() (oder auch PostThreadMessage() - ist bei Threads vermutlich die bessere Wahl) klappt nur, wenn der Zielthread eine Message-Queue hat, in der die gesendete Nachricht landen könnte (d.h. wenn Thread B derjenige ist, der sich um die Bildschirmanzeige und die Nutzer-Eingaben kümmert, sollte es normalerweise gehen).

    Wenn Thread B keine Nachrichtenschleife hat, mußt du auf Alternativen zugreifen - CEvent's, globale Flags etc. Oder du kannst direkt auf das Thread-Handle von Thread A warten.



  • ohne nachrichtenschleife:
    - sections (shared memory) und events
    - lpc-ports (undokumentiert)
    - eventuell pipes oder mailboxes (langsamer, mehr overhead)


Anmelden zum Antworten