你能用Apache Thrift代替JNI吗?

时间:2012-11-19 15:43:22

标签: java c++ java-native-interface thrift

我刚遇到Thrift,最近开始和JNI一起玩。

根据我的理解,Thrift为您提供了定义不同语言之间接口的工具(如果我错了,请纠正我)。根据我的经验,JNI似乎在Java和C ++之间做了类似的工作。

我想知道我是否可以使用Thrift来完成我目前在JNI中所做的任务。如果是,我应该使用Thrift执行哪些任务,何时应该使用JNI?

谢谢!

1 个答案:

答案 0 :(得分:6)

当您在不同进程之间进行通信时,应该使用thrift或类似的RPC库。在同一进程中在Java和C之间传递方法调用时,可以使用JNI。使用thrift的成本大约比使用JNI高10到100倍,具体取决于你在做什么时为什么只在你不能使用JNI时才使用它。