黑马程序员技术交流社区

标题: 毕老师银行存钱线程问题 android那边也发来在线等 [打印本页]

作者: 张森    时间: 2013-1-13 11:55
标题: 毕老师银行存钱线程问题 android那边也发来在线等
本帖最后由 张森 于 2013-1-13 12:00 编辑

下面是毕老师写2个储户去存钱的问题?
  1. /*
  2.         需求:
  3.         银行有一个金库,有两个用户存钱,每次存100,存3次。
  4. */
  5. class Bank{
  6.         private int sum ;
  7.         public void add(int sum){
  8.                 sum = sum+n;
  9.                 System.out.println(sum);
  10.         }
  11. }

  12. class Cus implements Runnable{
  13.         private Bank bank = new Bank();
  14.         public void run(){   //当存钱的时候会造成共享数据sum多线程错误。
  15.                 for(int i=0;i<3;i++){
  16.                         bank.add(100);
  17.                 }
  18.         }
  19. }
  20. public class BankDemo{
  21.         public static void main(String[] args){
  22.                 Cus c = new Cus();
  23.                 Thread t1 = new Thread(c).start();
  24.                 Thread t2 = new Thread(c).start();
  25.         }
  26. }
复制代码
毕老师的意思两个储户去存钱,
但我怎么看都是一个储户去存钱,他只new了一个人啊, 我感觉怎么是一个人,划分为二,同一时间去两个柜台同时存钱啊?大家好好看看这里,确实没明白。毕老师第11天11个视频

作者: 张森    时间: 2013-1-13 12:27
周末都没有人吗
作者: 林嘉健    时间: 2013-1-13 12:29
用户只提供钱,负责预算负责操作的只是银行方或者ATM机。

也可以理解为1个人去银行分别往2个账户存钱,不是需要2个工作人员帮忙工作效率才高吗?
作者: 张森    时间: 2013-1-13 12:35
林嘉健 发表于 2013-1-13 12:29
用户只提供钱,负责预算负责操作的只是银行方或者ATM机。

也可以理解为1个人去银行分别往2个账户存钱,不 ...

不是两个账户吧  要是两个账户也就不存在同步问题了吧
感觉是一个人 同时在两个柜台往同一个账户存钱。
作者: 林嘉健    时间: 2013-1-13 12:40
张森 发表于 2013-1-13 12:35
不是两个账户吧  要是两个账户也就不存在同步问题了吧
感觉是一个人 同时在两个柜台往同一个账户存钱。 ...

对啊,老师的重点就是说1个人在2个柜台存钱,这里就涉及到了多线程了嘛。

你的逻辑顺序是对的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2