안녕하세요 아즈라엘 입니다. 


이번에 JNI 작업중 native thread에서 jni 를 통해 java와 연결을 하는 상황이 발생되었습니다


jint JNI_OnLoad(JavaVM *vm, void *reserved);


를 통해서 JavaVM *vm 을 얻어와 글로벌 변수로 저장을 하여 사용하였고


vm-> AttachCurrentThread() 을 통해 env 를 JVM에 붙여서 사용을 하였습니다.


일단 잘 되는거처럼 보이긴 하는데 문제가 발생되는군요 


문제가 뭐냐~!!!


바로 .. AttachCurrentThread 사용시 env를 2개밖에 못넣는다는것....


고로 thread는 두개밖에 못쓴다는거죠..ㅠㅠ


http://xrath.com/javase/ko/6/docs/ko/technotes/guides/jni/spec/invocation.html

<본문인용>   ....  네이티브 thread를 2 개의 Java VM 에 동시에 접속할 수 없습니다.  ....




미치겠군요..

DetachCurrentThread 해도 리턴값을 친절하게 JNI_ERR를 내려주는군요


여러분은 저와 같은 상황을 겪지 않기를 바라며.. 만약 저보다 먼저 겪어서 해결하신 분은 
소중한 조언 부탁드립니다. ^^

전 성능이고 나발이고 상관없이 어케든 해결해 보기 위해서 JNI_CreateJavaVM 를 시도해 보려 합니다 ㅠㅠ

해푸미~!!