2

我目前使用 android NDK 用 C 编写一些本机代码。我了解到使用 JNI 我们可以进行从 java 到 C 和从 C 到 java 的两种方式调用。

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

谢谢,

4

1 回答 1

3

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

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

于 2012-07-02T06:46:19.597 回答