java,Synchronized同步方法实例(一)

版权声明:本文为博主原创文章,转载请说明出处 https://blog.csdn.net/u010002184/article/details/82910643
是线程获取对象的锁,且该线程执行对象所属类中的同步方法!
当然线程也是对象,也有锁,锁只是对象的一个标志位。
哪个线程获得了SynClass的对象锁,则哪个线程进入同步方法中执行
public class WaitTest1 {

    public static void main(String[] args) {
        SynClass synClass = new SynClass();
        synClass.f1();//主线程获取synClass的对象锁
//        SynClass.f1...main

        Thread t4 = new Thread(new MyRunnable4(), "t4");
        t4.start();////线程t4获取synClass的对象锁
//        SynClass.f1...t4
    }

}


class SynClass {

    //哪个线程获得了SynClass的对象锁,则哪个线程进入同步方法中执行
    public synchronized void f1() {
        System.out.println("SynClass.f1..." + Thread.currentThread().getName());
    }
}

class MyRunnable4 implements Runnable {
    @Override
    public void run() {
        SynClass synClass = new SynClass();
        synClass.f1();
    }
}

猜你喜欢

转载自blog.csdn.net/u010002184/article/details/82910643
今日推荐