关于取款问题 java同步简单的小例子
2016-08-19 14:42
447 查看
package abit; public class RemoveMoney implements Runnable{ public static int mymoney=2000; public static void main(String[] args){ RemoveMoney t=new RemoveMoney(); new Thread(t,"A").start(); new Thread(t,"B").start(); } public void run() { try{ Thread.sleep(1000); }catch(Exception e){} remove(1500); } public synchronized void remove(int money){ if(mymoney>money){ mymoney-=money; System.out.println(Thread.currentThread().getName()+"取走"+money+",剩下"+mymoney); }else{ System.out.println(Thread.currentThread().getName()+"你的余额不足"); } } }
/*输出:
A取走1500,剩下500 B你的余额不足
*/
可以去除synchronized试试,会导致:
A取走1500,剩下500
B取走1500,剩下500
相关文章推荐
- java学习7:银行存取款的例子,主要涉及对象同步问题,类似于数据库存取款,数据一致性问题
- 关于Java的RMI编程的一个简单的例子
- 关于 OnMouseWheelDown、OnMouseWheelUp 等事件的简单例子 - 回复 "巅枫" 的问题
- java:关于short s1=1;s1=s1+1;short s1=1;s1+=1;short s3=s1+s2;中存在的简单数据类型转换问题的理解
- java多线程问题中简单的存取款实现
- 关于java中Properties类的简单的使用例子
- 关于java socke同步的问题
- 关于Java的RMI编程的一个简单的例子
- JAVA中关于同步与死锁的问题
- java 接口实现简单并能说明问题的例子
- 关于java中Properties类的简单的使用例子
- java线程同步问题(一个理解wait()与notify()的例子)
- 自制简单的Java下载器——来自《Java高级编程》的一个关于线程的例子(带上部分注释)
- 关于javaweb中简单的跨域问题
- Java中关于String的简单而又深入的问题!
- 今天的问题:一个简单的例子,请帮我解开“接口实现Java‘隐藏实现细目’”的迷惑。
- 自制简单的Java下载器——来自《Java高级编程》的一个关于线程的例子(带上部分注释)
- 关于网宿厦门研发中心笔试的一道PV操作题:利用java中的多线程实现生产者与消费者的同步问题
- 关于java中Properties类的简单的使用例子
- 关于java中Properties类的简单的使用例子