6

我刚刚遇到 Thrift,最近开始使用 JNI。

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

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

谢谢!

4

1 回答 1

6

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

于 2012-11-19T15:48:18.727 回答