关于多线程
package com.example;
public class SYN {
public synchronized void fun1() {
try {
Thread.currentThread().sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" fun1");
}
public synchronized void fun2() {
try {
Thread.currentThread().sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" fun2");
}
}
两个线程分别死循环调用这两个方法,同一个SYN对象
输出示例
Thread-1 fun2
Thread-1 fun2
Thread-1 fun2
Thread-1 fun2
Thread-1 fun2
Thread-1 fun2
Thread-0 fun1
Thread-1 fun2
Thread-1 fun2
方法调用后释放锁,为什么可以连续抢到这么多次
ps:写生产者消费者时遇到的,完整代码在我博客里,不过这些应该够了