zoukankan      html  css  js  c++  java
  • 黑马程序员多线程11天1

    /*
    需求:
    银行有一个金库。
    有两个储户分别存300员,每次存100,存3次。
    
    目的:该程序是否有安全问题,如果有,如何解决?
    
    
    如何找问题:
    1,明确哪些代码是多线程运行代码。
    2,明确共享数据。
    3,明确多线程运行代码中哪些语句是操作共享数据的。
    
    
    
    */
    
    
    class Bank
    {
        private int sum;
        //Object obj = new Object();
        public synchronized void add(int n)
        {
            //synchronized(obj)
            //{
                sum = sum + n;
                try{Thread.sleep(10);}catch(Exception e){}
                System.out.println("sum="+sum);
            //}
        }
    }
    
    class Cus implements Runnable
    {
        private Bank b = new Bank();
        public void run()
        {        
            for(int x=0; x<3; x++)
            {
                b.add(100);
            }
        }
    }
    
    
    class  BankDemo
    {
        public static void main(String[] args) 
        {
            Cus c = new Cus();
            Thread t1 = new Thread(c);
            Thread t2 = new Thread(c);
            t1.start();
            t2.start();
        }
    }
  • 相关阅读:
    机器学习数据
    偏差和方差
    numpy基础
    卷积神经网路
    深度学习基础
    Iris数据集
    SVM-SVR
    Java之日期处理
    MySQL笔记
    在Eclipse中运行的时候出现launching/Building
  • 原文地址:https://www.cnblogs.com/guwenren/p/3006384.html
Copyright © 2011-2022 走看看