如何在javacpp中处理C ++类和std :: future?

时间:2016-04-22 07:58:50

标签: java c++11 javacpp

我正在使用javacpp https://github.com/bytedeco/javacpp用于JNI C ++到Java

例如,我有一个使用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中使用它?谢谢!

0 个答案:

没有答案