同步线程的synchronized关键字的使用
2014-06-09 11:10
453 查看
public class FetchMoney { public static void main(String args[]) { BankCard card=new BankCard(); MoneyThread thread1=new MoneyThread(card);//柜台 MoneyThread thread2=new MoneyThread(card);//ATM机 thread1.start(); thread2.start(); } } class BankCard { private int money=1000; public synchronized int getMoney(int number)//对访问该方法的对象进行上锁,直至线程访问方法完毕,才会解锁,让其他线程进入访问 { if(number<0) return -1; else if(number>money) return -2; else { try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } money =money-number; return number; } } } class MoneyThread extends Thread { private BankCard bankcard; public MoneyThread(BankCard bankcard) { this.bankcard=bankcard; } @Override public void run() { // TODO Auto-generated method stub System.out.println(bankcard.getMoney(800)); } }
相关文章推荐
- 2.使用synchronized关键字实现多线程的同步和互斥(不同线程同时读写同一数据)
- 多线程(三)——线程的同步,synchronized关键字的使用
- Java中有几种方法实现一个线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不提倡使用?
- Java多线程初学者指南(10):使用Synchronized关键字同步类方法
- Java线程同步机制synchronized关键字的理解
- Java多线程初学者指南(10):使用Synchronized关键字同步类方法
- JAVA线程同步synchronized关键字及锁解析
- Java 有几程方法可以实现一个线程?用什么关键字修饰同步?stop()和suspend()为什么不推荐使用?
- java开发线程篇1:java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- 初学Java多线程:使用Synchronized关键字同步类方法
- 九、初学Java多线程:使用Synchronized关键字同步类方法
- Java线程同步机制synchronized关键字的理解
- 记录Java多线程的同步问题---synchronized关键字的使用
- Java多线程初学者指南(10):使用Synchronized关键字同步类方
- synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运行完这个方法后再运行此线程A,没有的话,直接运行 它包
- 初学Java多线程:使用Synchronized关键字同步类方法
- 使用Synchronized关键字同步类方法
- 浅谈线程中的同步概念和synchronized关键字
- 浅谈线程中的同步概念和synchronized关键字
- 在JAVA线程中使用同步的语句块-synchronized