有什么方法可以将回调从 C 传递给 java 代码。并且调用立即返回。稍后,在完成任务后,java 代码可以调用该回调。
我有一个用于 php 的 C 扩展,它调用一个 java 商店来在其中存储一些项目。可以通过同步和异步方法从存储中检索项目(我为存储提供键列表和回调,它调用回调并返回其中的项目)。
我能够从扩展同步检索项目,但现在我不知道如何异步进行。
- 有什么方法可以让我的 C 代码提供指向 java 以后可以调用的函数的指针?
- 或者是否有可能我每次 C 代码要求异步检索项目时创建一个 java 线程,然后该 java 线程调用可以将项目返回给用户的 C 函数?
作为最后的手段,我可能必须在 C 代码中创建一个线程,并在该线程中排队可以从 java 检索的键。
或者zend中是否有任何支持允许我将任务排队以及zend可以为队列中的每个任务一个接一个调用的回调?