读书人

老谈synchronized,lock的区别及有关问

发布时间: 2012-11-01 11:11:33 作者: rapoo

老谈synchronized,lock的区别及问题.
先看个代码吧!



synchronized的执行方式是:谁获得了锁,谁就执行,其他的线程都会处于等待状态,等当前线程执行完之后,根据系统的线程调用规则来调用数据.可以这样说吧,synchronized比较死板,不灵活,所以就要使用Lock锁来进行同步了! 上面的例子不是太清晰,再发个
这个例子执行的时候,分为lock(),trylock(),trylock(arg,arg)三种方法,其中使用第三种方法的时候线程的执行是独占的,trylock()是在系统空闲时就申请,不会等待,没有第三种方法灵活,lock()则和synchronized修饰的代码块差不多!

大家把例子运行下就能看出来差别,如有不对的地方欢迎大家拍砖.

读书人网 >编程

热点推荐