线程同步:
- 同步代码块。
- 同步方法。
- 锁机制
1. 同步方法
使用synchronized修饰的方法,就叫做同步方法,
保证A线程执行该方法的时候,其他线程只能在方法外等着。
格式:
public synchronized void method(){
可能会产生线程安全问题的代码
}
案例:
class Account implements Runnable{
private Integer money = 1000 ;
@Override
public synchronized void run() {
//获取当前线程名称
String name = Thread.currentThread().getName();
System.out.println(name+"准备检查余额...");
if(money>=600){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name+"正在扣款");
this.money -= 600;
System.out.println(name+"扣款成功!余额:"&