next up previous contents index
Next: JNI und Java Virtual Up: Zugriff auf Java Objekte Previous: Lokale und Globale Referenzen

Threads und rechnerspezifische Methoden

Da Java Multithreading unterstützt, muß bei der Verwendung von JNI-Methoden damit gerechnet werden, daß es zu Race-Conditions und Deadlocks zwischen verschiedenen Threads, welche dieselbe JNI-Methode benutzen, führen kann. Im Wesentlichen müssen drei Dinge beachtet werden:

In Java ist zur Synchronisation von Threads das Schlüsselwort synchronized zu verwenden. Das JNI unterstützt diese Funktionalität durch die Methoden MonitorEnter und MonitorExit, welche den kritischen Bereich eingrenzen. Es werden die Anzahl der Zugriffe eines Threads festgehalten und durch MonitorEnter inkrementiert bzw. durch MonitorExit decrementiert. So können Threads in den kritischen Bereich eintreten, wenn der entsprechende Zähler wieder auf 0 gesetzt ist.
next up previous contents index
Next: JNI und Java Virtual Up: Zugriff auf Java Objekte Previous: Lokale und Globale Referenzen

Beispielbenutzer SuSE Linux 6.0
Sun May 9 21:16:36 MEST 1999