【发布时间】:2010-12-29 02:00:54
【问题描述】:
我有一些本地线程需要调用 Java。为此,我需要使用AttachCurrentThread 将线程附加到VM。由于此回调会经常发生,因此线程可能应该保持连接状态。多次调用AttachCurrentThread 没问题(“尝试附加已附加的线程是无操作的。”)
我是否必须在线程退出之前调用DetachCurrentThread,它会自动发生,还是甚至不需要?如果我必须调用 detach 但不调用会发生什么?它会只是“泄漏”,还是会破坏 VM 状态?
我检查了 Java 原生接口规范,但要么错过了这一点,要么确实没有指定。
我的问题特别适用于 Windows XP 上的 Sun JDK 6。
【问题讨论】:
标签: java windows multithreading jvm java-native-interface