线程同步


synchronized(this){同步块}


第一种处理方式  this 必须是唯一的   


在后续的开发中,我们一般用这个唯一的类的字节码信息来表示唯一的。



boolean getmoney(int m) throws InterruptedException { synchronized (Money.class){ if (m<
=money){ Thread.sleep(1); money-=m; System.out.println(Thread.currentThread().getName()+"取钱成功,剩余"+money); return true; } } System.out.println(Thread.currentThread().getName()+"余额不足,剩余"+money); return false; }

 

 

第二种
synchronized   线程同步方法

synchronized boolean getmoney(int m) throws InterruptedException { if (m<=money){ Thread.sleep(1); money-=m; System.out.println(Thread.currentThread().getName()+"取钱成功,剩余"+money); return true; } System.out.println(Thread.currentThread().getName()+"余额不足,剩余"+money); return false; }

 

posted @ 2019-10-28 19:07  wu110111‬  阅读(70)  评论(0编辑  收藏  举报