我刚遇到Thrift,最近开始和JNI一起玩。
根据我的理解,Thrift为您提供了定义不同语言之间接口的工具(如果我错了,请纠正我)。根据我的经验,JNI似乎在Java和C ++之间做了类似的工作。
我想知道我是否可以使用Thrift来完成我目前在JNI中所做的任务。如果是,我应该使用Thrift执行哪些任务,何时应该使用JNI?
谢谢!
答案 0 :(得分:6)
当您在不同进程之间进行通信时,应该使用thrift或类似的RPC库。在同一进程中在Java和C之间传递方法调用时,可以使用JNI。使用thrift的成本大约比使用JNI高10到100倍,具体取决于你在做什么时为什么只在你不能使用JNI时才使用它。