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
满足语句,我也会得到一个致命错误。