zoukankan      html  css  js  c++  java
  • 多线程安全问题实例

    class Bank{
     private int sum;
     void add(int num){
      sum=sum+num;
      System.out.println(Thread.currentThread().getName()+"当前存了"+sum);
     }
    }
    class Deposit implements Runnable{
     private Bank b=new Bank();
     private Object obj=new Object();
     public void run(){
      synchronized(obj){
       for(int i=1;i<=3;i++){
       b.add(100);
       }
      }
     }
    }
    public class text31{
     public static void main(String[] args){
      Deposit d=new Deposit();
      Thread t1=new Thread(d,"小明");
      Thread t2=new Thread(d,"校长");
      t1.start();
      t2.start();
     }
    }

    /*

    思考  这个银行存钱的话,是一个人一个账户,那么能不能开辟2个线程,然后上2把锁进行各自的存钱??  是不是在创建个子类吗?!  问题藏着下次来解决!

    */

  • 相关阅读:
    浅拷贝和深拷贝
    squeezenet
    7常用函数
    6表的约束
    5select的运用
    4操作符
    3基本数据操作
    2基本数据类型
    1mysql的安装
    16多态
  • 原文地址:https://www.cnblogs.com/daoxiang1992/p/5699035.html
Copyright © 2011-2022 走看看