//Synchronized这个关键字加上之后两个线程不能同时执行,只能一个线程执行之后下一个线程执行
public static void main(String[] args) {
SynchronizedDemo thread=new SynchronizedDemo();
Runnable runnable=()->thread.methodA(); //java8新特性lamdba表达式的Runnable创建线程
Runnable runnable2=()->thread.methodB();
new Thread(runnable).start();
new Thread(runnable2).start();
}
static class SynchronizedDemo {
public synchronized void methodA(){
System.out.println("线程1运行");
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("线程1运行完毕");
}
public synchronized void methodB() {
System.out.println("线程2运行");
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("线程2运行完毕");
}
}
synchronized简单互斥锁
最新推荐文章于 2023-07-23 10:20:08 发布