synchronized锁

这一次来探讨synchronized锁对象和锁模板的问题:

一个类有两个方法,开两个线程分别执行:

synchronized锁_第1张图片

这种情况很好理解,a方法休眠了3s

这个时候就引出问题,如果需要顺序执行该怎么做?

也就是a执行时,b等待。

很显然,使用锁:

synchronized锁_第2张图片 

这种方式是将该方法加锁,同一个类A线程使用时,B线程就需要等待。

所以如果我们创建两个资源类,这种在方法上加synchronized就会失效,

synchronized锁_第3张图片

我们需要将锁加到类上,变成模板锁

synchronized锁_第4张图片

你可能感兴趣的:(java,开发语言)