是否有任何機制通過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. 如何將信號發送到PCI卡?
- 2. 從c#發送midi信號到ableton
- 3. 如何從javascript發送信號到qml
- 4. 如何發送和陷阱發送到PID的信號,用C
- 5. 如何在C中發送事件#
- 6. 如何將信號從arduino發送到MATLAB?
- 7. 如何將信號從QDialog發送到QMainWindow類
- 8. 如何從代表發送信號
- 9. 如何從nodejs發送POSIX信號
- 10. 如何從python程序發送信號?
- 11. C pthreads和信號發送
- 12. 如何發送信號?
- 13. 如何發送信號到孩子的孩子從父母收到信號後
- 14. 如何將信號發送到Perl 6中的進程ID?
- 15. 發送文件從Java到C#
- 16. 從JVM發送POSIX信號
- 17. 如何通過JNI將大型結構從C傳遞到JAVA
- 18. 如何在C#中發送短信#
- 19. pthread_kill()不發送信號到
- 20. 發送信號到進程
- 21. 如何將鼠標事件發送到發送前的ajaxSetup?
- 22. java如何發送信息?
- 23. 從JNI返回狀態信息到JAVA
- 24. fork和信號:如何從父進程發送信號到特定子進程
- 25. 如何在Android中將數組從JNI返回到Java?
- 26. 將信息從Java發送到Java腳本?
- 27. 如何在Delphi中將事件發送到多個表單
- 28. 從java servlet發送短信到手機
- 29. 在java中發送短信
- 30. 如何從Java JNI
我已經在使用這個,但我真正需要的是某些東西,我可以在java中阻塞某些資源,然後我可以發送一個事件/信號來解除阻塞,並且應該是異步的。 – 2011-02-18 22:03:23