Java 调用多线程C++;密码?

Java 调用多线程C++;密码?,java,c++,java-native-interface,Java,C++,Java Native Interface,我试图确定JNI是否适合我们的用例 我们有一个用C++编写的库,它使用多个线程从数据库/ RPC中获取数据,我们要创建一个包装器,让java代码能够调用它。 我不熟悉JNI,所以我想知道C++多线程在这种情况下是否仍然正常工作。 谢谢。我认为这两个方向都没有重大问题。除非你有特别的东西 这里有一个从多个线程调用JNI代码的示例: 这里有一个从多个C线程调用Java的示例: 嘿,我在网上找不到答案。如果你想结束,请帮我完善这个问题?多个本机线程不是问题。但是您不能跨线程共享相同的JNIEnv*(

我试图确定JNI是否适合我们的用例

我们有一个用C++编写的库,它使用多个线程从数据库/ RPC中获取数据,我们要创建一个包装器,让java代码能够调用它。

我不熟悉JNI,所以我想知道C++多线程在这种情况下是否仍然正常工作。


谢谢。

我认为这两个方向都没有重大问题。除非你有特别的东西

这里有一个从多个线程调用JNI代码的示例:

这里有一个从多个C线程调用Java的示例:


嘿,我在网上找不到答案。如果你想结束,请帮我完善这个问题?多个本机线程不是问题。但是您不能跨线程共享相同的
JNIEnv*
(参见示例)。谢谢Michael,我们不会在Java代码中对线程执行任何操作,只返回结果。理论上这很好,但是,我在实践中遇到了不少问题。很难在本机线程实现和JVM之间提供线程安全,并且几乎不可能调试由此产生的问题。我强烈建议将并发性保留在一端或另一端,根据我的经验,将其保留在java端更容易一些。@AlexBarker谢谢Alex。线程安全不应该是我们的问题,因为在C++和java代码之间传递的所有东西都是一些原始BUBUF对象,在代码之外没有交互。所以我想在这种情况下,两边都有并发是可以的?