package com.brianway.learning.java.multithread.synchronize.example10;
/**
* Created by brian on 2016/4/13.
*/
/**
* P97
* 验证synchronized关键字加载static静态方法和加到非静态方法不是同一个锁
* 一个是Class类上锁,一个是对象上锁
*/
public class Run10_synTwoLock {
public static void main(String[] args) {
Service service = new Service();
ThreadA a = new ThreadA(service);
a.setName("A");
a.start();
ThreadB b = new ThreadB(service);
b.setName("B");
b.start();
ThreadC c = new ThreadC(service);
c.setName("C");
c.start();
}
}
/*
输出:
线程名:A 在 1460478479803进入printA
线程名:C 在 1460478479808进入printC
线程名:C 在 1460478479808离开printC
线程名:A 在 1460478482804离开printA
线程名:B 在 1460478482804进入printB
线程名:B 在 1460478482804离开printB
*/