首先这个并不是随便放歌对象就可以了的,必须放一个没变的对象并且情况不一样
synchronized修饰方法:
1.非静态方法: 默认的同步监听器对象 this
2.静态方法: 默认的同步监听器对象 是该方法所在类的 Class对象 ooxx.class
若线程是实现方式:
:同步代码块: 同步监听对象可以选 this, 这个方法所在类的Class对象, 选一个不变对象
:同步方法: 此时可以使用synchronized直接修饰 run方法,因为同步监听器 是 this;
若线程时继承方式:
:同步代码块: 这个方法所在类的Class对象, 选一个不变对象
:同步方法: 此时不能使用synchronized直接修饰 run方法
|