synchronized 关键字的用法?

1,788 total views, 12 views today

如果面试问到这个题目,那么就可以窃喜了,因为太简单了,只要写过多线程代码的人,肯定用到过 synchronized 关键字。我把答案总结在这里,背诵一下就可以了。

synchronized 关键字表示了 Java 的一个实现同步的锁,线程进入同步代码块,必须要先获得锁,退出时释放锁。这个锁是互斥的,同一时间只有一个线程能获得锁。获得不到锁的线程,只能等待别的线程释放锁,然后再去抢这个锁。

修饰代码块

这是最常用的方式,获得 lock 对象的线程,才能继续运行。

修饰方法

这个等价于下面的代码,获取的锁对象就是当前类的实例。

修饰静态的方法

这个等价于下面的代码,获取的锁对象就是当前类的 class 对象。

 

原创文章,转载请注明出处!http://www.javathings.top/synchronized关键字的用法?/

About: wusq


发表评论

邮箱地址不会被公开。 必填项已用*标注