在我的 android 应用程序中,我有一个从本地线程到 Java 代码的回调,它需要与主 UI 线程同步。目的是 UI 线程根据从本机线程返回的信息显示选项列表。在用户选择一个选项之前,本机线程需要阻塞。在用户选择一个选项后,本机线程读取该值并继续运行。
我尝试使用 ConditionVariable 来实现此解决方案,但是我收到一个 VM 错误,其中包含指示“致命的自旋挂起,转储线程”的注释。
看起来好像不可能使用基于 Java 的同步对象来同步这些线程。该代码在我有两个 Java 线程的情况下完美运行。
一般来说,有没有办法使用基于 Java 的同步对象来同步 Java 和本机线程,或者这是否需要使用 NDK 来实现,并从 Java 线程调用实现同步的 NDK 函数?