7 Stimmen

Muss ich einen angehängten Thread mit JNI abhängen?

Ich habe einen nativen Thread, der Java aufrufen muss. Dazu muss ich den Thread mit der VM verbinden, indem ich AttachCurrentThread . Da dieser Rückruf recht häufig erfolgen wird, sollte der Thread wahrscheinlich angeschlossen bleiben. Aufruf von AttachCurrentThread mehrfach anhängen ist in Ordnung ("Der Versuch, einen Faden anzuhängen, der bereits angehängt ist, ist ein No-op.")

Muss ich anrufen DetachCurrentThread bevor der Thread beendet wird, geschieht dies automatisch, oder ist dies gar nicht erforderlich? Was passiert, wenn ich detach aufrufen muss, es aber nicht tue? Würde es nur "auslaufen", oder könnte dies sogar den VM-Status beschädigen?

Ich habe die Java Native Interface Spezifikation überprüft, aber entweder habe ich dies übersehen, oder es ist wirklich nicht spezifiziert.

Meine Frage bezieht sich speziell auf Sun JDK 6 unter Windows XP.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X