JNI 是否为本机代码引入了额外的线程
does JNI introduce an extra thread for native code?
我目前使用android NDK用C语言编写一些本机代码。我了解到,使用 JNI,我们可以进行从 java 到 C 和从 C 到 Java 的双向调用。
我很好奇使用 JNI 是否隐式引入了一个额外的线程,或者它仍然是应用程序的一个 main() 线程?
谢谢
Android
中的Dalvik Java VM从当前的Java线程调用本机代码。它可以是任何线程 - UI 或任何其他线程。您的本机代码可以随意生成新线程。
当然,调用 java->native->java 将返回到调用它的同一线程。
相关文章:
- 如何检查线程是否锁定
- 并发/多线程:是否可以以这种方式生成相同的输出?
- 当我在C++中调用 struce 的只读静态成员时,线程是否安全
- 检查分离的线程是否还活着?
- 将正常函数的工作分配给多个线程是否安全
- 最大线程数 - 如何确定C++线程是否并行运行?
- 如何确定其他线程是否正在运行?
- 线程是否真的在调用 std::future::get() 后启动
- 如何知道分离的STD ::线程是否完成了执行
- 通知线程是否始终需要在修改期间锁定共享数据
- 只写到共享 std::unordered_map 线程是否安全
- 检查线程是否在 c++11 中完成
- C++ 互斥 - 检查另一个线程是否正在等待
- 提升::作用域的线程是否自动分离
- 以下单例实现线程是否安全?
- 确定线程是否已退出
- 我的不同线程是否会看到更新后的shared_ptr对象
- 使用操作当前对象的线程是否安全
- 此同步对象实现线程是否安全
- 线程是否共享一些类字段