zoukankan      html  css  js  c++  java
  • 静态方法使用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();

    }
    // }
    }
    }

  • 相关阅读:
    Apache CXF入门
    C++中关于类型转换的问题讨论
    makefile实例(3)-多个文件实例优化
    makefile实例(2)-多个文件实例
    makefile实例(1)-helloworld
    【原创】Linux下编译链接中常见问题总结
    tcpdump命令
    共享内存基础
    关于TCP/UDP缓存
    TCP/UDP常见问题小结
  • 原文地址:https://www.cnblogs.com/xingsir/p/12083706.html
Copyright © 2011-2022 走看看