在子线程中获得JNIEnv|AttachCurrentThread
来源:互联网 发布:2016年网络经典口头禅 编辑:程序博客网 时间:2024/06/05 20:54
JNI|在子线程中获得JNIEnv|AttachCurrentThread
http://blog.csdn.net/stefzeus/article/details/6792518
2011-09-21 14:00 5233人阅读 评论(2) 收藏 举报
jnithreadinterfacecallbackjvmnull
A JNI interface pointer (JNIEnv*) is passed as an argument for each native function mapped to a Java method, allowing for interaction with the JNI environment within the native method.This JNI interface pointer can be stored, but remains valid only in the current thread. Other threads must first call AttachCurrentThread()to attach themselves to the VM and obtain a JNI interface pointer. Once attached, a native thread works like a regular Java thread running within a native method. The native thread remains attached to the VM until it callsDetachCurrentThread() to detach itself.[3]
- void Call_Back_Invoke( void *user,int notify_id, unsigned int param )
- {
- bool isAttacked = false;
- JNIEnv* env;
- if(NULL == jni_tmpc.g_JVM)
- {
- LOGE("g_JVM == NULL");
- return ;
- }
- int status = (jni_tmpc.g_JVM)->GetEnv((void **) &env, jni_tmpc.g_JNI_VERSION);
- if(status < 0) {
- LOGD("callback_handler:failed to get JNI environment assuming native thread");
- status = jni_tmpc.g_JVM->AttachCurrentThread(&env, NULL);
- if(status < 0) {
- LOGE("callback_handler: failed to attach current thread");
- return;
- }
- isAttacked = true;
- }
- switch( notify_id )
- {
- case...
- ...
- }
- if(isAttacked)
- {
- (jni_tmpc.g_JVM)->DetachCurrentThread();
- }
- LOGE("jni Call_Back_Invoke(1) notify_id = %d",notify_id );
- }
0 0
- 在子线程中获得JNIEnv|AttachCurrentThread
- JNI|在子线程中获得JNIEnv|AttachCurrentThread
- JNI|在子线程中获得JNIEnv|AttachCurrentThread
- 在子线程中Toast
- 在子线程中Toast
- AttachCurrentThread
- 在子线程中操作主线程
- python从子线程中获得返回值
- C# 在子线程中开启新窗口
- 在子线程中更新UI
- 在子线程中如何更新ui
- 在子线程中更新UI
- 如何在子线程中创建Handler?
- 在子线程中更新UI
- 在子线程中new一个Handler
- android在子线程中更新数据
- 在子线程中更新UI
- 在子线程中创建线程的方法
- struts2的配置元素package
- HDU 1087 Super Jumping! Jumping! Jumping!
- 随想录(科技企业中股票和融资)
- 14 MVCC的可见性
- c++中getline函数
- 在子线程中获得JNIEnv|AttachCurrentThread
- windows下安装python27
- 【NvRAM】Native层读写nvram
- Remove Duplicates from Sorted List
- 粗心、大意、疏忽这些词以后要少用最好忘掉!
- Spring MVC 3 深入总结
- Jetty 的工作原理以及与 Tomcat 的比较
- Android(java方法)上实现mp4的分割和拼接 (一)
- 互联网思维