A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wcrystal 中级黑马   /  2015-3-18 17:44  /  903 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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
{
         privateBank b=new Bank();
         publicvoid run()
         {
                   for(int x=0;x<3 ;x++ )
                   {
                            b.add(100);
                   }
         
         }
}

class BankDemo
{
         publicstatic void main(String[] args)
         {
                   cusc=new cus();
                   ThreadT1=new Thread();
                   ThreadT2=new Thread();
                   T1.start();
                   T2.start();
         }
}

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1

查看全部评分

5 个回复

倒序浏览
  1. class Bank{
  2.         private int sum;
  3.         public synchronized void add(int num)throws InterruptedException{
  4.                 sum+=num;
  5.                 Thread.sleep(3000);
  6.                 System.out.println("总数;"+sum);
  7.         }
  8. }
  9. class Cus implements Runnable{
  10.         private Bank b=new Bank();
  11.         public void run(){
  12.                 try{
  13.                         for(int x=0; x<3; x++)
  14.                         b.add(100);
  15.                 }catch(InterruptedException e){}
  16.         }
  17. }
  18. class BankDemo{
  19.         public static void main(String[] args)throws InterruptedException{
  20.                 Cus c=new Cus();
  21.                 Thread t1=new Thread(c);
  22.                 Thread t2=new Thread(c);
  23.                 t1.start();t2.start();
  24.         }
  25. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1

查看全部评分

回复 使用道具 举报 1 0
你子类实现的是接口Runnable,那么你在main函数里,在新建子类对象后,要把子类对象作为参数传给Thread类,这样子类和线程才产生了练习,否则就算实现了接口也没什么用
回复 使用道具 举报
殷俊 发表于 2015-3-18 17:57
你子类实现的是接口Runnable,那么你在main函数里,在新建子类对象后,要把子类对象作为参数传给Thread类, ...

非常感谢,看了大半天呢。
回复 使用道具 举报

怎么才能把代码发成这样子的格式呢?复制粘贴的看起来如这个好~~教教我呗:loveliness:
回复 使用道具 举报
田晓莉 发表于 2015-3-18 20:03
怎么才能把代码发成这样子的格式呢?复制粘贴的看起来如这个好~~教教我呗 ...

就是这样

QQ截图20150318202527.png (33.73 KB, 下载次数: 6)

QQ截图20150318202527.png

QQ截图20150318202601.png (62.49 KB, 下载次数: 17)

QQ截图20150318202601.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马