void Java_Package_Multithreading_againCallReadFile
(JNIEnv *env, jobject obj) {
if((*env)->MonitorEnter(env,obj) == JNI_OK) {
printf("Now you can call the synchronised method !");
} else {
printf("oops ! Failed to acquire the lock.");
}
}
從上面的方法我想檢查我是否可以調用同步的方法,並可能被另一個線程使用。 MonitorEnter
實際上檢查什麼。我已閱讀其文檔,但不明白它是什麼。我想要做的是,在檢查調用該方法是否安全之後,調用該同步方法。上述方法看起來不正確,因爲即使滿足if
聲明,我也會遇到致命錯誤。使用MonitorEnter:我應該如何調用synchronized方法?
[NO STACKTRACE GETS PRINTED!](http://i47.tinypic.com/33pbu36.jpg) –
但是什麼是hs_err_pid5536.log的內容?和其他dll調用通常沒有任何問題? –
[你可以查看這個鏈接。它不幫助我](http://suhail03.my3gb.com/hs_err_pid5536.log) –