2013-11-22 4 views
1

Как создать тему в JNI?JNI Создание потоков

Существует какой-либо вызов функции среды Java? Или я должен использовать потоки C++?

Я считаю, что я должен использовать pthread как обычное C++-приложение, но эти создания потоков вызовут некоторый обратный вызов java, возможно, в синхронных методах.

+0

Создание темы в windows и linux несколько отличается. В какой среде вы работаете? – rachana

+0

Оба! Я использую pthread в качестве библиотеки потоков для c-кода. – Victor

ответ

3

Нет ничего особенного в собственных потоках и JNI. Тем не менее есть много вещей, которые могут пойти не так.

Собственный поток должен быть attached для JVM, прежде чем вы сможете вызвать любые Java-методы. Функции API, которые являются важными для этого являются:

jint AttachCurrentThread(JavaVM *vm, void **p_env, void *thr_args); 
jint DetachCurrentThread(JavaVM *vm); 

См here для более подробной информации.

Все остальные вещи, такие как synchronized, обрабатываются JVM.

Смежные вопросы