2012-11-19 22 views
6

我剛剛遇到Thrift,最近開始玩JNI。您可以使用Apache Thrift來代替JNI嗎?

根據我的理解,Thrift爲您提供了定義不同語言之間接口的工具(如果我錯了,請糾正我)。根據我的經驗,JNI似乎在Java和C++之間做了類似的工作。

我想知道是否可以使用Thrift來完成我目前在JNI中執行的任務。如果是的話,我應該使用Thrift什麼任務,什麼時候應該使用JNI?

謝謝!

回答

6

當您在不同的進程之間進行通信時,您應該使用節儉或類似的RPC庫。在同一進程中在Java和C之間傳遞方法調用時,可以使用JNI。使用節儉的成本比使用JNI高出大約10-100倍,具體取決於你在做什麼,爲什麼只有當你不能使用JNI時才使用它。

相關問題