我对多线程环境下的 JNI 实现感到困惑。我有一个如下的java类,代表本机接口:
public class Test {
public native int doSum(int a, int b);
}
而对应的native方法是用c实现的。
现在,我的问题是,我有多个线程,比如说 5。它们都在使用上面类 Test 的一个全局实例。那么,用 C 编写的本机方法代码是否可能是线程安全的?或者我是否需要像问题中提到的那样使其线程安全?
如果我为每个线程创建单独的 Test 类实例,然后调用本机函数怎么办?这会表现出线程安全吗?
谢谢。