7、线程的安全问题 的解决办法2之 同步方法


若操作共享数据的 代码正好在方法中,不妨将此方法 声明为同步方法 

关于同步方法的总结:

1.同步方法仍然涉及到同步监视器,只是不需要我们显式的声明。

2.非静态的同步方法,同步监视器是: this 

   静态的同步方法,同步监视器是:当前类本身

同步方法 解决实现Runnable接口的线程安全问题:

实现Runnable接口 的 同步方法的 同步监视器(锁)默认是 thisthis是 当前类Window2所创建的唯一对象

执行程序,查看控制台:

同步方法 解决继承Thread类的线程安全问题:

继承Thread类 的 同步方法的 同步监视器(锁)不是this,锁是当前类本身,如下,锁是 Window3.class 

    

 执行程序,查看控制台: