zoukankan      html  css  js  c++  java
  • 多线程之:线程同步代码块

     java中使用关键字synchronized进行线程同步,有四中同步块:

      1、实例方法

      2、静态方法

      3、实例方法中的同步块

      4、静态方法中的同步块

    实例方法同步:在方法申明中使用synchronized 关键字,同步在拥有该方法的对象上

    1  public synchronized void increase(){
    2          this.id++;   
    3  }

    静态方法同步:与实例方法同步一样,在方法申明中使用synchronized 关键字,同步在拥有该方法的类对象上,同时只允许一个线程执行同一个类中的静态同步方法

    1 public static  synchronized void increase(){
    2           this.id++;   
    3 }

    实例方法中的同步块:在方法申明中不使用synchronized 关键字,但在方法中使用synchronized 包围一部分代码,进行同步

    1  public void increase(){
    2         synchronized (this){
    3            this.id++;   
    4         }
    5  }

    静态方法中的同步块:和静态方法同步类似,在方法申明中不使用synchronized 关键字,在方法中使用synchronized 包围一部分代码,进行同步

    1  public static void increase(){
    2          synchronized (this){
    3             this.id++;   
    4          }
    5   }
    作者:jessezeng
    出处:http://www.cnblogs.com/jessezeng/
  • 相关阅读:
    tp5 thinkphp5 伪静态修改 fastadmin
    ThinnkPHP内置视图循环语句
    PHP禁止重写策略
    冒泡排序
    Ruby--正则
    JS正则
    JS禁止父元素事件
    Rails--default_scope
    公网映射
    查企业情况和招聘的网站
  • 原文地址:https://www.cnblogs.com/jessezeng/p/5004412.html
Copyright © 2011-2022 走看看