黑马程序员技术交流社区

标题: 这两个线程持有的是同一个锁吗 [打印本页]

作者: 嘿~~    时间: 2014-8-17 10:45
标题: 这两个线程持有的是同一个锁吗
  1. class Account
  2. {
  3.         .....
  4.        
  5.         public synchronized void draw(double drawAmount)//当两个线程执行到此处时,持有的是同一个锁吗
  6.         {
  7.                 ....
  8.         }
  9. }
  10. class Customer extends Thread
  11. {
  12.         private Account account;
  13.         ...
  14.         public void run(){
  15.                 for (int i=0;i<10;i++ )
  16.                 {
  17.                         account.draw(drawAmount);
  18.                 }
  19.         }
  20. }
  21. class AccountThread
  22. {
  23.         Account account = new Account(参数);

  24.         //创建两个线程
  25.         Customer c1 = new Customer(参数);
  26.         Customer c2 = new Customer(参数);

  27.         //开启两个线程
  28.         c1.start();
  29.         c2.start();
  30. }
复制代码


代码中的两个线程执行到draw(参数)方法时,持有的是同一个锁吗
作者: 不再上网    时间: 2014-8-17 11:08
不是同一个锁
作者: ssy1939    时间: 2014-8-18 21:13
不是同一个锁,非静态         锁是this  




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