JNI C++からJavaにjavacpp https://github.com/bytedeco/javacppを使用しています
たとえば、std::future を使用する C++ クラスがあります。
class cppDemo {
public:
Demo();
int testInt(int number) {
return number;
}
std::future<int> futureInC()
{
// future from a promise
std::promise<int> p;
std::future<int> f2 = p.get_future();
std::thread( [](std::promise<int> p){ sleep(2); p.set_value_at_thread_exit(8); },
std::move(p) ).detach();
return f2;
}
}
CompletableFuture を使用して、C 関数から結果を取得します。私はこれを行ういくつかの方法をゲストにしていますが、うまくいきません
native @StdFuture CompletableFuture<Integer> futureInC(){
cppDemo.futureInc();
}
また
CompletableFuture<Integer> futureInC(){
@StdFuture f = @cppDemo.futureInC();
CompletableFuture<Integer> future = new CompletableFuture<>();
f.then(int value -> future.complete(value));
return future;
}
Java からどのように使用できますか? ありがとう!