wol*_*084 1 c++ java java-native-interface
这可能是一个微不足道的问题,我只想确认我对流程和多个jvms的理解.
我创建了一个C++ DLL程序,通过JNI调用我的java jar文件.然后我在其他C++程序中调用此C++ DLL.据我所知,在我称之为dll的任何特定程序中,只允许一个jvm.在我的项目,一个C++程序调用开头的dll一次,节目的最后,和DLL将创建JVM时,DLL被称为第一次和附加线程JVM时,它被称为第二次.
我的问题是我将有许多不同的C++程序调用这个DLL,所以它应该创建多个jvms?这是每个进程创建一个jvm,对吧?或者他们仍被视为线程?
谢谢!
小智 5
调用Java API的AC/C++程序将为每个进程创建一个JVM(当您调用时JNI_CreateJavaVM())并连接到它.
如果您运行此C/C++程序的多个实例(进程),那么在这种情况下,为每个实例创建一个JVM.
创建的每个JVM都是一个进程,而不是一个线程.
| 归档时间: |
|
| 查看次数: |
669 次 |
| 最近记录: |