当前位置: 时代头条 > 正文

多线程之synchronized(this)锁定当前对象

昨天讲到了在synchronized(this)代码块里,多个线程调用的话就是同步进行,在其他非synchronized(this)的调用是异步的,具体可以看下这篇文章《多线程之synchronized(this)同步代码块》,今天我们来验证下synchronized(this)是锁定当前对象的。

多线程之synchronized(this)锁定当前对象

简单的业务方法

这边在一个类里,同步代码块里打印0-998,和线程的名字。

多线程之synchronized(this)锁定当前对象

线程A

线程B和线程A一样就不写了,下面看下测试方法。

多线程之synchronized(this)锁定当前对象

测试结果

从结果可以看到,Thread-1线程会等到线程Thread-0执行完之后再打印,也就是说,synchronized(this)锁定的是当前对象,当一个线程调用了同步代码块,就锁定了当前对象,其他的线程就要等到线程执行完才能进来。这些都是与synchronized修饰方法是一样的,具体可以看下synchronized修饰方法的一些介绍。

谢谢大家收看,喜欢的关注一波~~

下面这本书介绍的很详细,有需要的可以去看看~

最新文章

取消
扫码支持 支付码