• 静态方法使用synchronized修饰.


    package seday10;
    /**
    * @author xingsir
    * 静态方法若使用synchronized修饰,这个方法一定具有同步效果。静态方法上使用的同步监视器对象为这个类的"类对象",
    * 每个java定义的类都只有唯一的一个类对象(Class类型的的实 例)
    */
    public class syncDemo3 {

    public static void main(String[] args) {
    Thread t1 =new Thread() {
    public void run() {
    Class1.method();//静态类,直接用类名调用方法
    }
    };
    Thread t2 = new Thread() {
    public void run() {
    Class1.method();//静态类,直接用类名调用方法
    }
    };
    t1.start();//启动
    t2.start();//启动
    }

    }
    class Class1{
    /*
    * 两种方法:
    * 1.直接加在方法名前面 public synchronized static void dosome(){}
    */
    public synchronized static void method() {
    /*
    * 2.静态方法中若使用同步监视器对象,也可以使用 当前类的类对象,获取当前类的类对象可以直接
    通过:类名.class得到。如下:synchronized (Foo.class) {}
    */
    // synchronized (Foo.class) {
    try {
    Thread thread =Thread.currentThread();
    System.out.println(thread.getName()+":正在执行method...");
    Thread.sleep(5000);
    System.out.println(thread.getName()+":执行method完毕!");
    } catch (Exception e) {
    e.printStackTrace();

    }
    // }
    }
    }

  • 相关阅读:
    基于java容器注解---基于泛型的自动装配
    mininet+floodlight搭建sdn环境并创建简单topo
    Bean装配之@Autowired注解
    Linux常用命令
    Bean利用Resource接口获取资源的几种方式
    MYSQL分页优化查询
    MYSQL统计和识别重复值
    MYSQL统计和识别重复值
    MYSQL处理数据重复值
    MYSQL处理数据重复值
  • 原文地址:https://www.cnblogs.com/xingsir/p/12083706.html
Copyright © 2020-2023  润新知