syn和lock的区别 1.syn通过object的wait notify调度 lock通过condition调度
2.syn可加方法上或者synchronized代码块使用 jvmc++实现 lock只能嵌套在代码中 java实现
3.不存在或并发低的情况下 syn性能优于lock , 但是并发升高时 syn性能下降很快
4syn非公平锁,lock可以指定公平性
5syn代码快发生异常时能自动适当锁 lock需加在finally中 若lock出现死锁也能通过有限时等待释放死锁