//多线程并发安全问题
多个线程并发操作同一临界资源,由于线程切换时机不确定,导致执行顺序出现混乱从而引发的一些列问题, 临界资源:对该资源的一次完成操作过程同时只能被单一的一个线程进行的。。
public class SyncDemo{
public static void main(String[]args){
Table table =new Table();
Thread t1 = new Thread(){
public void run(){
int bean=table.getBean();
System.out.prinln(getName()+":"+bean);
}
Thread t2 = new Thread(){
public void run(){
int bean =table.getBean();
System.out.prinln(get.Name+":"+bean);
}
};
t1.start;
t2.start;
}
}
}
class Table{
private int beas =20;
public synchronized int getBean(){ //从桌子上取一个单词
if(beans==0){
throw new RuntimeException("没有豆子了!");
}
return beans--;
}
}
}