是否有任何機制通過JNI從C發送異步事件/信號到Java或反之亦然?我需要捕捉從C到Java的信號/事件。如何在JNI中將事件/信號從C發送到Java
8
A
回答
1
這聽起來有點棘手,因爲JNI應該是單向的:Java代碼可以調用本地方法,當然這可能會調用回Java代碼,但本身不能啓動進程。
但這不是不可能的,我認爲最直接的解決方案是有一個本地呼叫阻塞,直到收到信號。
另一種選擇是編寫一個JVMTI代理程序,它可能會主動干擾正在運行的虛擬機。
但是,如果我們談論的是UNIX信號,那麼您可以使用非公開API(因此不保證將來和Sun VM特定)但現有sun.misc.Signal
類來處理。
-1
您可以從C代碼調用Java方法。請參閱JNI文檔。另請參閱http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/method.html。
相關問題
- 1. 發送信號從C到Java
- 2. JNI .cpp文件如何將事件發送到Android中的Java框架
- 3. 如何在java中發送ipc信號
- 4. 如何將信號發送到PCI卡?
- 5. 從c#發送midi信號到ableton
- 6. 如何從javascript發送信號到qml
- 7. 如何發送和陷阱發送到PID的信號,用C
- 8. 如何將Java SIGINT信號發送到外部進程?
- 9. 如何在C中發送事件#
- 10. 如何發送從JNI C代碼到數組的指針到Java代碼?
- 11. 每次發送事件信號兩次
- 12. 如何將信號從arduino發送到MATLAB?
- 13. 如何將信號從QDialog發送到QMainWindow類
- 14. 如何通過JNI發送從Java到H的HashMap
- 15. java線程信號發送
- 16. 如何從python程序發送信號?
- 17. 如何從nodejs發送POSIX信號
- 18. 如何從代表發送信號
- 19. 發送信號到USB端口C
- 20. jni從java結構到C
- 21. C pthreads和信號發送
- 22. 如何發送信號到套接字?
- 23. 如何發送信號?
- 24. 如何發送USR2信號?
- 25. 如何發送信號到孩子的孩子從父母收到信號後
- 26. 如何將信號發送到Perl 6中的進程ID?
- 27. 從java發送int到c
- 28. 從C++發送protobuf到Java
- 29. 發送文件從Java到C#
- 30. 如何在J2ME中將短信從PC發送到手機
我已經在使用這個,但我真正需要的是某些東西,我可以在java中阻塞某些資源,然後我可以發送一個事件/信號來解除阻塞,並且應該是異步的。 – 2011-02-18 22:03:23