我在 JVM 多线程环境中出现内存崩溃。在每个线程运行环境中,我正在加载 C++ 共享库的一个实例。(比如 exm1.so、exm2.so 等)。首先让我告诉您,C++ 共享库不是线程安全的。因此,我们将使用 C++ 共享库的实例加载 JVM 创建的每个线程。Java代码:import com.sun.jna.Native;Thread 1:run{ x libraryInstance = Native.loadLibrary(exm1.so, x.class); x. mymethod();}Thread 2:run{ x libraryInstance = Native.loadLibrary(exm2.so, x.class); x. mymethod();}我的问题是这个 .so 文件将存储在哪个内存中,JVM 是否以线程安全的方式管理每个线程内存?在每个 .so 文件中都有 C++ malloc 函数调用。JVM 有效地管理此内存 ptr。
添加回答
举报
0/150
提交
取消