此链接似乎表明“它只是有效”:(在 7.3 附加 native 线程下的底部相当远)http://java.sun.com/docs/books/jni/html/invoke.html
我不明白这怎么可能,嵌入式 JVM 会自动启动自己的线程吗?或者排队 JNI 调用?否则怎么可能多次调用同一个虚拟机。我没有指示执行任何线程?
我能想到的任何工作方式是,如果 java 代码将简单地在与 c 代码相同的调用线程中执行。那是对的吗?这意味着我不必在 Java 中执行任何线程。
最佳答案
jvm 不必创建自己的线程,方法调用在创建它们的 native 线程上执行。 AttachCurrentThread 和 DetachCurrentThread 将负责任何必要的 jvm 内部状态管理,例如创建包装 native 线程的 java Thread 对象。
关于java - 如果我使用 JNI 从 C 的多个线程调用 java 函数会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8654519/