二哥啊

导航

 

某个线程操作共享数据的过程中,尚未操作完成时,其他线程参与进来。

Java中,我们通过同步机制解决线程安全问题。

 

方式一:同步代码块

  synchronized(同步监视器){

    需要被同步的代码 

}

说明:操作共享数据的代码,即为需要被同步的代码

   共享数据:多个线程共同操作的变量

   同步监视器,俗称:锁。任何一个类的对象,都可以充当锁。

      要求:多个线程必须要共用同一把锁

方式二:同步方法

  如果操作共享数据的代码完整的声明在一个方法中,我们可以将此方法声明为同步的

1.同步方法仍然设计到同步监视器,只是不需要显示的声明

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

  静态同步方法,同步监视器是类

posted on 2019-11-21 15:28  二哥啊  阅读(91)  评论(0编辑  收藏  举报