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

C++ JNI是否为本机代码引入了额外的线程?,c++,c,android-ndk,C++,C,Android Ndk,我目前正在使用androidndk用C编写一些本机代码。我了解到,使用JNI,我们可以进行从java到C和从C到java的双向调用 我很好奇,使用JNI是否会隐式引入一个额外的线程,或者它仍然是应用程序的一个main()线程 谢谢,Android中的Dalvik Java VM从当前Java线程调用本机代码。它可以是任何线程UI或任何其他类型。您的本机代码可以随意生成新线程 当然,调用java->native->java将返回到它在中调用的同一线程。我不知道Android VM的情况,但是Sun

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

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


谢谢,

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


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

我不知道Android VM的情况,但是Sun虚拟机使用任何称为本机代码的线程来执行本机代码。@Bill感谢您提供的信息。因此,如果我进行java->c->java调用,它会返回到在sun jvm情况下启动调用的同一线程上的java代码吗?听起来是可行的。不过我会先测试一下。我是标准Java,我想打印
Thread.currentThread().getName()
调用我的本机代码,让它调用我的Java代码,然后再次打印当前的线程名称。感谢您的建议:)我会这样做以确认..如果有效,您应该发布您的答案以帮助下一个有此问题的人。