C의 자바 코드에 콜백을 전달할 수있는 방법이 있습니까? 즉시 호출이 반환됩니다. 나중에 태스크를 완료 한 후 java 코드가 해당 콜백을 호출 할 수 있습니다.jni의 콜백
나는 그것에서 일부 항목을 저장하는 자바 가게를 호출 PHP를위한 C 확장 있습니다. 항목은 동기식 및 비동기식 방식으로 저장소에서 검색 할 수 있습니다 (키와 콜백 목록을 저장소에 제공하고 콜백을 호출하고 항목을 반환 함).
나는 확장에서 동 기적으로 항목을 검색 할 수,하지만 지금은 비동기 작업을 수행하는 방법을 모르겠어요.
- 내 C 코드가 나중에 Java에서 호출 할 수있는 함수에 대한 포인터를 제공 할 수있는 방법이 있습니까?
- 또는 그것이 내가 자바 스레드마다의 C 코드를 작성하는 것이 가능하다 비동기 항목을 검색하도록 요청하고, 그 자바 스레드는 사용자에게 항목을 다시 반환 할 수있는 C 함수를 호출?
마지막으로 C 코드에서 스레드를 만들고 Java에서 검색 할 수있는 해당 스레드의 키를 큐에 넣어야 할 수도 있습니다.
또는 내가 작업을 대기열 수 젠드의 모든 지원과 큐의 모든 작업 하나 하나를 호출 할 수 젠드 콜백이있다?
네이티브 함수 호출은 C 프로그램이 이미로드 한 유효한 JniEnv 포인터를 제공합니까? 클래스의 새 인스턴스를 만들어 Java에 전달하는 것이 중요합니까? 샘플 코드를 제공해 줄 수 있습니까? – ata
예를 들어 함수가 native int callback (string)으로 선언되었습니다. C 서명 jint를가집니다. Java_com_mypackage_MyClass_callback (JNIEnv * env, jobject class_instance, jstring 매개 변수) - env, 콜백 클래스 및 모든 매개 변수에 대한 포인터가 있습니다. 나중에 샘플 코드를 제공하려고 노력할 것입니다. – Xeor