Synchronized的基本使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Synchronized的基本使用相关的知识,希望对你有一定的参考价值。
/*
对静态方法的同步本质上是对类的同步
(1)修饰普通方法、(2)修饰静态方法、(3)修饰代码块
*/
public class ThreadDemo {
//public static synchronized void method1() (2)
public synchronized void method1() { (1)
System.out.println("Method 1 start");
try {
// synchronized (this) { (3)
System.out.println("Method 1 execute");
Thread.sleep(3000);
// }
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Method 1 end");
}
//public static synchronized void method2() (2)
public synchronized void method2() { (1)
System.out.println("Method 2 start");
try {
// synchronized (this) { (3)
System.out.println("Method 2 execute");
Thread.sleep(1000);
// }
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Method 2 end");
}
public static void main(String[] args) {
final ThreadDemo test = new ThreadDemo();
new Thread(new Runnable() {
@Override
public void run() {
test.method1();
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
test.method2();
}
}).start();
}
}
以上是关于Synchronized的基本使用的主要内容,如果未能解决你的问题,请参考以下文章