7、线程的安全问题 的解决办法2之 同步方法
若操作共享数据的 代码正好在方法中,不妨将此方法 声明为同步方法
关于同步方法的总结:
1.同步方法仍然涉及到同步监视器,只是不需要我们显式的声明。
2.非静态的同步方法,同步监视器是: this
静态的同步方法,同步监视器是:当前类本身
同步方法 解决实现Runnable接口的线程安全问题:
实现Runnable接口 的 同步方法的 同步监视器(锁)默认是 this,this是 当前类Window2所创建的唯一对象
执行程序,查看控制台:
同步方法 解决继承Thread类的线程安全问题:
继承Thread类 的 同步方法的 同步监视器(锁)不是this,锁是当前类本身,如下,锁是 Window3.class
执行程序,查看控制台: