Ich habe eine Android-App mit zwei Threads, die ein int [] teilen, das im Application-Objekt ist. Ein Thread sammelt/verarbeitet Daten von einem Lidar und speichert sie im int [], während der andere Thread das int [] liest und ein gezeichnetes Bild aktualisiert. Jede Position im int [] repräsentiert einen bestimmten Winkel und der Inhalt jedes int repräsentiert die Distanzmessung für diesen Winkel.int [] zwischen Java und C++ geteilt?
Der Sammel-/Verarbeitungs-Thread muss in C++ neu geschrieben werden, um den vorhandenen Code zu nutzen und die Geschwindigkeit zu verbessern. Ich plane, JNI zu verwenden.
Welcher Mechanismus kann verwendet werden, um das int [] zwischen dem nativen Thread und dem Java-Thread zu teilen? Es ist kein Stream, Puffer oder Producer/Consumer-Modell.
Dieser native Thread ist ein C++ - Thread, oder? Wie wäre es mit IPC-Kanälen? Sockets/Dateien/SharedMemory? –
IPC und Sockets sind nachrichtenbasiert, und ich tausche keine Nachrichten aus. Shared Memory scheint ein guter Kandidat zu sein, aber meine Frage ist: "Wie könnte es implementiert werden?" –