2012-11-19 8 views
6

私はちょうどスリフトに出くわし、最近JNIで遊んで始めました。JNIではなくApache Thriftを使用できますか?

私が理解していることから、Thriftはさまざまな言語間のインターフェイスを定義するツールを提供しています(私が間違っている場合は修正してください)。私の経験では、JNIはJavaとC++の間で同様の仕事をしているようです。

私が現在JNIでやっている作業をスリフトを使って行うことができるのだろうかと思っていました。はいの場合は、私はThriftをどのようなタスクに使うべきですか、そしていつJNIを使​​うべきですか?

ありがとうございます!

答えて

6

異なるプロセス間で通信する場合は、トランスクリプトまたは類似のRPCライブラリを使用する必要があります。同じプロセスでJavaとCの間でメソッド呼び出しを渡すときにJNIを使​​用できます。あなたがJNIを使​​用することができない場合にのみそれを使用する理由に応じて、リサイクルを使用するコストは、JNIを使​​用する場合より約10〜100倍高くなります。

関連する問題