你可以使用Apache Thrift代替JNI吗?

6

我刚接触Thrift,最近开始使用JNI。

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

我想知道是否可以使用Thrift来执行我目前在JNI中执行的任务。如果可以,我应该在什么任务上使用Thrift,在什么情况下应该使用JNI?

谢谢!

1个回答

6

当你在不同进程之间通信时,应该使用thrift或类似的RPC库。当在同一进程中传递Java和C方法调用时,可以使用JNI。使用thrift的成本大约是使用JNI的10-100倍,具体取决于你正在做什么,因此只有在无法使用JNI时才会使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接