【问题标题】:Queue/De-Queue between Java and C++ for AndroidJava 和 C++ for Android 之间的队列/取消队列
【发布时间】:2014-06-26 07:03:24
【问题描述】:

在 android 下是否有众所周知的在 Java 和 C++ 之间对数据进行 enquing/dequing 的方法?我试图通过我在 C++ 中执行的各个步骤向用户显示图像,但问题是每一步我都必须返回 Java,然后再返回 C++。

我想到了这种队列用法,但我不确定它是否是一件好事,甚至是否可以使用队列。在 Java 和 C++ 结束。不同线程下的两个队列。一个线程 (C++) 插入队列,另一个线程 (Java) 从队列中移除。

感谢任何帮助。

【问题讨论】:

    标签: java android c++ multithreading queue


    【解决方案1】:

    在 OpenJDK 上可以不使用 JNI。 (实际上我有一个 OpenJDK/HotSPot 的实现)但是 AFAIK,你最终会在 Android 的某个地方使用 JNI,因为它不使用 intrincis,即无需 JNI 即可访问堆内存的能力。

    Android 上的 JNI 真的那么贵吗?我原以为这需要大约一微秒或更短的时间。

    【讨论】:

    • 困扰的不是昂贵,而是程序的流程。我对图像处理的最终输出已完成并显示在最后。我想展示中间步骤。但似乎无法找出最佳方法。
    • @Wajih 让我尝试改写一下。您想在 C++ 中进行一些处理,但又想在 Java 中显示进度/输出?如果是这种情况,最简单的方法可能是管道、命名管道或套接字连接。一端写入数据,另一端将其作为流读取。此流可以记录到您的 GUI 或显示为图像等。
    • 嗯。这是一种方法。也许我应该这样做。感谢您的提示!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 2014-08-12
    • 2014-05-07
    • 2013-06-20
    • 1970-01-01
    相关资源
    最近更新 更多