Ani*_*ole 8 c java java-native-interface events signals
是否有任何机制通过JNI从C发送异步事件/信号到Java或反之?我需要捕获从C到Java的信号/事件.
这听起来有点棘手,因为 JNI 应该是单向的:Java 代码可以调用本机方法,该方法当然可以回调 Java 代码,但本身不能启动该过程。
但这也不是不可能,我认为最直接的解决方案是进行本地调用,直到收到信号为止。
另一种选择是编写 JVMTI 代理,它可以主动干扰正在运行的虚拟机。
但如果我们谈论的是 UNIX 信号,您可以使用非公共 API(因此不能保证将来和 Sun VM 特定)但现有的sun.misc.Signal类来处理。