JNI: Objekte aus externer Library in JVM kopieren
-
Hallo,
ich stecke gerade mit JNI etwas fest:
Ich habe ein paar komplexe Berechnungen in einer externen C-Library auf die Grafikkarte ausgelagert. Jetzt möchte ich, dass immer wenn so eine Berechnung fertig ist, diese aus der C-Library in mein Java-Programm kopiert wird.Wie realisiert man so etwas mit JNI?
Ich könnte mir folgende Optionen vorstellen:
- Ein Java-Thread fragt in bestimmten kurzen Zeitabständen die externe Library ob sie wieder ein Datenpaket fertig hat. Wenn ja, wird eine Funktion aufgerufen, die dieses Datenpaket rüber kopiert.
- Event-basiert: Die externe Lib sammelt die Datenpakete in einer Liste und schickt jedes mal ein entsprechendes Event ans die JVM. Die JVM holt dann sobald sie will die wartenden Datenpakete ab.Welche der Möglichkeiten würde man nehmen? Übersehe ich noch andere Möglichkeiten? Kennt ihr zufällig Material zu dem Thema? Ich konnte nichts finden, aber vielleicht haben mir nur die richtigen Suchbegriffe gefehlt.
Vielen Dank,
Michael