zoukankan      html  css  js  c++  java
  • 多线程--synchronized同步方法

       使用synchronized关键字修饰一个方法, 该方法中所有的代码都是同步的

    /*
    * 非静态同步函数的锁是:this
    * 静态的同步函数的锁是:字节码对象   .class 文件
    */
    public class demon_syn2 {
        public static void main(String[] args) {
            final printer2 p = new printer2();    // 匿名内部类 在使用它所在方法的局部变量时,该变量必须用final修饰
          new Thread(){
                public void run() {
                    while(true){
                        p.print1();
                    }
                }
            }.start();
            new Thread(){
                public void run() {
                    while(true){
                        p.print2();
                    }
                }
            }.start();
        }
    }
    class printer2{
        demo1 d2 = new demo1();
        public synchronized void print1(){        
            System.out.print("黑");
            System.out.print("马");
            System.out.print("程");
            System.out.print("序");
            System.out.print("员");
            System.out.print("
    ");        
        }
        public synchronized void print2(){        
            System.out.print("传");
            System.out.print("智");
            System.out.print("播");
            System.out.print("客");
            System.out.print("
    ");        
        }
    }
    
    class demo1{
        
    }
    竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
  • 相关阅读:
    sqlserver的排序
    tomcat虚拟目录!
    tomcat虚拟主机配置!
    深度优先搜索算法
    java是什么?
    tomcat服务器jar管理!
    广度优先搜索算法
    简单web服务器
    cascade="alldeleteorphan"时容易出现的一个异常
    Hibernate级联删除的一个错误
  • 原文地址:https://www.cnblogs.com/yaobiluo/p/11348086.html
Copyright © 2011-2022 走看看