package com.github.pig.auth;
public class Test {
private int count = 10;
Object o = new Object();
public static void main(String[] args) {
Test t = new Test();
Thread th = new Thread(new Runnable(){
@Override
public void run() {
t.aa();
}
});
Thread th2 = new Thread(new Runnable(){
@Override
public void run() {
t.aa();
}
});
th.start();
th2.start();
}
public void aa(){
System.out.println(Thread.currentThread().getName()+"进入");
synchronized (o) {
System.out.println(Thread.currentThread().getName()+"进入锁内");
for(int i = 0;i < 10; i++) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
count--;
System.out.println(Thread.currentThread().getName() + "aaa" + count);
}
System.out.println(Thread.currentThread().getName()+"出去锁");
}
}
}
运行结果
Thread-1进入
Thread-1进入锁内
Thread-0进入
Thread-1aaa9
Thread-1aaa8
Thread-1aaa7
Thread-1aaa6
Thread-1aaa5
Thread-1aaa4
Thread-1aaa3
Thread-1aaa2
Thread-1aaa1
Thread-1aaa0
Thread-1出去锁
Thread-0进入锁内
Thread-0aaa-1
Thread-0aaa-2
Thread-0aaa-3
Thread-0aaa-4
Thread-0aaa-5
Thread-0aaa-6
Thread-0aaa-7
Thread-0aaa-8
Thread-0aaa-9
Thread-0aaa-10
Thread-0出去锁
Process finished with exit code 0