• 技术文章 >java >java基础

    java中有哪些特殊monitor

    小妮浅浅小妮浅浅2021-08-03 09:40:01原创3545

    说明

    1、this monitor:在成员方法上的synchronized,就是this monitor,等价于在方法中使用synchronized(this)

    2、class monitor:在静态方法上的synchronized,就是class monitor,等价于在静态方法中使用synchronized(XXX.class)

    实例

    public class Main {
        public synchronized void method1(){
            System.out.println(Thread.currentThread().getName()+" method1");
            try{
                TimeUnit.MINUTES.sleep(5);
            }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
     
        public synchronized void method2(){
            System.out.println(Thread.currentThread().getName()+" method2");
            try{
                TimeUnit.MINUTES.sleep(5);
            }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
     
        public static void main(String[] args) throws InterruptedException {
            Main m = new Main();
            new Thread(m::method1).start();
            new Thread(m::method2).start();
        }
    }

    以上就是java中特殊monitor的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java monitor
    品易云
    上一篇:java引发死锁的四种情况 下一篇:java中ThreadGroup如何创建

    相关文章推荐

    • java中&和&&有什么区别• JavaScript数组有哪些遍历方法• JavaScript for-in和for-of的不同点• JavaScript使用map创建新数组• filter在JavaScript中过滤数组元素• Java序列化是什么• Java反序列化如何理解• java静态方法和非静态方法的介绍• java io和nio的区别• java进程和线程的关系• Java守护线程和用户线程的区别• java中UDP接收数据的步骤• java中TCP通信是什么• java中并发和并行的概念• java start()和run()的区别• java中使用全局变量终止线程

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网