对比同步块和同步方法--->粒度更小的锁定资源,尽可能地提升性能
根据几个同步锁对象不同的实例观察线程不安全的实例
package iostudy.synchro;
/**
* 测试同步方法和同步块对粒度更小地资源锁定
* 感受性能上地差异
* @since JDK 1.8
* @date 2021/06/18
* @author Lucifer
*/
public class SynBlockTestNo3 {
public static void main(String[] args) {
/*资源实现类*/
SynWeb12306 synWeb12306 = new SynWeb12306();
/*多个线程代理对象*/
new Thread(synWeb12306, "代劳").start();
new Thread(synWeb12306, "一楼").start();
new Thread(synWeb12306, "丙楼").start();
}
}
/**
* 创建内部资源类
*/
class SynWeb12306 implements Runnable{
/*设置资源数量*/
private int ticketNums = 10;
private boolean flag = true;
/*重写接口run方法,实现具体逻辑*/