java学习(162):同步对象锁

定义一个dog类

public class Dog {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

定义一个同步对象锁

//同步对象锁
public class SysObject implements Runnable {
    private Dog dog;

    public SysObject(){
        if(dog==null){
            dog=new Dog();
        }
    }
    public void run(){
        Thread current=Thread.currentThread();
        synchronized (dog){
            for(int i=1;i<10;i++){
                System.out.println( "线程"+current.getName()+"在修改dog的名字" );
                dog.setName( "卡尔"+ i);
                System.out.println( dog.getName() );
                try {
                    Thread.sleep( 1000 );
                }catch (InterruptedException e){
                    e.printStackTrace();
                }
            }
        }
    }
}

测试类

public class test109 {
    public static void main(String[] args){
        SysObject sysObj=new SysObject();
        Thread t0=new Thread( sysObj,"歌谣" );
        Thread t1=new Thread( sysObj,"小白" );
        Thread t2=new Thread( sysObj,"小红" );
        t2.setPriority( Thread.MAX_PRIORITY );
        t2.start();
        t1.start();
        t0.start();
    }
}

运行结果

java学习(162):同步对象锁

上一篇:python – 使用其他列的值填充列中的空单元格


下一篇:顺序表操作