2012-11-19 15 views
6

Właśnie natknąłem się na Thrift, a ostatnio zacząłem grać z JNI.Czy możesz użyć Apache Thrift zamiast JNI?

Z tego co rozumiem, Thrift oferuje narzędzia do definiowania interfejsów między różnymi językami (popraw mnie jeśli się mylę). Wydaje się, że JNI wykonuje podobną pracę, z mojego doświadczenia, między Javą i C++.

Zastanawiam się, czy mógłbym użyć Thrift do wykonywania zadań, które obecnie wykonuję w JNI. Jeśli tak, dla jakich zadań należy korzystać z Oszczędzania i kiedy należy korzystać z JNI?

Dzięki!

Odpowiedz

6

Powinieneś używać oszczędności lub podobnej biblioteki RPC, kiedy komunikujesz się między różnymi procesami. Możesz używać JNI podczas przekazywania wywołań metod między Java i C w tym samym procesie. Koszt korzystania z oszczędności jest około 10 - 100 razy wyższy niż w przypadku JNI, w zależności od tego, co robisz, dlatego warto go używać tylko wtedy, gdy nie możesz korzystać z JNI.

Powiązane problemy