读书人

关于设置lock的一个有关问题

发布时间: 2011-12-20 22:26:41 作者: rapoo

关于设置lock的一个问题
看到java有两种设置lock的方法, 1是标识synchornized调用蕴含的lock,
或者是申明一个lock,然后
try {mylock.lock();

读写资源

}finally{mylock.unlock();}
但是如果读写资源与设置lock不同步, 比如我在设置lock时候只能是对资源的index进行设置,
然后在别的地方真正读写资源。
这样做行不行?有没有别的好方法??
申明一个
void setlock(){ mylock.lock()}
void releaselock(){mylock.unlock()}
这样调用函数就可以资源并行控制可通过调用这些函数进行。

谢谢诸位!!

[解决办法]
没太看懂你的意思, jdk 1.5以后有一个 reenterlock

你可以参考看看。

在一个线程里,你获得了锁,其它运行的代码会自动拿到那个锁。

但是要小心你需要多个锁的时候,产生死锁问题
[解决办法]
万一方法内出现异常,去哪里释放锁资源!

读书人网 >J2SE开发

热点推荐