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

时间:2012-06-24 21:12:37

标签: c++ c android-ndk

我目前正在使用android NDK在C中编写一些本机代码。我已经了解到使用JNI我们可以进行从Java到C以及从C到java的双向调用。

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

谢谢,

1 个答案:

答案 0 :(得分:3)

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

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