Im vorliegenden Fall wurde das mit Funktionen oder Methoden gemacht. Das ist aber nicht immer sinnvoll. Ich hatte nämlich auch mal so etwas gemacht mit Empfang, Verarbeitung und Speichern. Dabei konnte man auch etwa Videodateien - auch 2 GB kein Problem - vom PC auf das Smartphone übertragen. Klar dass man vom PC keine Funktion auf dem Smartphone aufrufen kann. Ebenso aber hatte ich die Software in Threads aufgegliedert. Der Empfang soll ja nicht zuerst die Videodatei in den Hauptspeicher schreiben - außerdem hat mein Smartphone eh nicht soviel -, während die anderen warten. Und wenn dann die Daten in ein File geschrieben werden, soll natürlich der Empfang nicht warten. Daher schrieb der Empfang die Daten in eine Queue und triggerte dann die Verarbeitung. Der Empfang schrieb dann weiter in die Queue bis zu einer Obergrenze und legte sich dann schlafen. Bei Erreichung einer Untergrenze in der Queue wurde der Empfang dann wieder aufgeweckt und forderte weitere Daten vom PC an. Natürlich wurde auch da nicht erst angefangen, wieder aus einer Datei zu lesen, sondern auch da war man nicht untätig und hatte die Daten bereits in einer Queue gebuffert. Alle Komponenten sollten arbeiten, wenn es was zu tun gab und auf andere sollte dabei nicht gewartet werden, damit das System optimal läuft.snafu hat geschrieben:Wobei mir das immer noch zu sehr Java wäre. Warum nicht einfach Funktionen verwenden?
Und bei Threads ruft man nicht einfach Funktionen in anderen Threads auf. Daher einfach Message gesandt. Und die triggerte dann das Event im anderen Thread. Da brauchte man dann gar nicht extra ein Eventhandling programmieren, das das bereits im Eventbroker integriert war.
Also: Callbackaufruf auf einem Tablet in China bekommt man mit Funktionsaufruf einfach nicht hin.