最近在开发公司要求高并发相关系统,频繁使用到锁的机制
在使用过程中总结LOCK和synchronized区别如下
1、synchronized可以自动释放,LOCK需要手动释放,并且最终在finally进行释放
2、如果多线程操作,A,B同时访问C,使用synchronized 如果A在访问C,B只有等到A释放才能获得C。获得前一直处于等待状态
使用LOCK可以设置超时时间,超过时间限制可以先做其他事情
3、LOCK更灵活,提供方法更多
4、在高并发时LOCK性能明显优于synchronzied。程序大部分处理都使用lock