本帖最后由 杜成龙 于 2013-6-12 18:57 编辑
- class Bank
- {
- private int sum;
- public void add(int n)
- {
- sum=sum+n;
- 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();
- }
- }
复制代码 这个程序的运行结果是:
sum=100
sum=300
sum=400
sum=200
sum=500
sum=600
问题是我的程序中不是两个线程共同执行run方法中的内容吗?怎么会输出六个数呢?不应该是三个吗?求解答,谢谢啦!
|