JNI 是否为本机代码引入了额外的线程

does JNI introduce an extra thread for native code?

本文关键字:线程 是否 本机代码 JNI      更新时间:2023-10-16

我目前使用android NDK用C语言编写一些本机代码。我了解到,使用 JNI,我们可以进行从 java 到 C 和从 C 到 Java 的双向调用。

我很好奇使用 JNI 是否隐式引入了一个额外的线程,或者它仍然是应用程序的一个 main() 线程?

谢谢

Android

中的Dalvik Java VM从当前的Java线程调用本机代码。它可以是任何线程 - UI 或任何其他线程。您的本机代码可以随意生成新线程。

当然,调用 java->native->java 将返回到调用它的同一线程。