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.