CからコールバックをJavaコードに渡す方法はありますか。そして、呼び出しはすぐに戻ります。後でタスクを完了した後、Java コードはそのコールバックを呼び出すことができます。
一部のアイテムを格納するためにJavaストアを呼び出すphp用のC拡張機能があります。アイテムは同期および非同期メソッドでストアから取得できます (キーのリストとコールバックをストアに提供し、コールバックを呼び出してアイテムを返します)。
アイテムを拡張機能から同期的に取得することはできますが、非同期的に行う方法がわかりません。
- 私のCコードがJavaが後で呼び出すことができる関数へのポインタを与える方法はありますか?
- または、C コードがアイテムを非同期的に取得するように要求するたびに Java スレッドを作成し、その Java スレッドがアイテムをユーザーに返すことができる C 関数を呼び出すことは可能ですか?
最後の手段として、C コードでスレッドを作成し、Java から取得できるキーをそのスレッドでキューに入れる必要がある場合があります。
または、タスクをキューに入れることができる zend のサポートと、キュー内のすべてのタスクに対して zend が 1 つずつ呼び出すことができるコールバックはありますか?