我正在使用 CPP,我想实现超时机制。
表单示例,名为“foo()”的函数,它只会在超时后触发一个函数执行并返回。
为什么我需要这个?
我有一个 Android 应用程序,它在该库中使用一个 CPP 库(使用 JNI 接口),有一些函数需要时间来处理。我不能在单独的线程中调用这些函数(从 java 或 CPP 作为 lib 限制),因此我在 android 应用程序中得到 ANR。
所以我将做什么,我将使用 JNI 调用 CPP 层中的一个函数,该函数将启动一个计时器并返回,以便 android 中的 UI 线程不会给出 ANR,当这个计时器超时时,它会调用该计时函数以及何时处理完成后会通知java层。
我应该如何实现这个?