中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

線程:synchronized方法

發布時間:2020-06-30 23:03:15 來源:網絡 閱讀:493 作者:glblong 欄目:開發技術

 

  1. class Thread1 extends Thread 
  2.     private MasterCard mc;//將mc類對象傳入作為成員變量 
  3.      
  4.     public Thread1(MasterCard mc) 
  5.     { 
  6.         this.mc = mc; 
  7.     } 
  8.      
  9.     public void run() 
  10.     { 
  11.         mc.charge1000();//調用synchronized方法,相當于鎖住的是引用該方法的類對象mc本身 
  12.       //  mc.charge();//單線程時run方法內部相當于調用對象mc的方法 
  13.     } 
  14.  
  15. class Thread2 extends Thread 
  16.     private MasterCard mc; 
  17.      
  18.     public Thread2(MasterCard mc) 
  19.     { 
  20.         this.mc = mc; 
  21.     } 
  22.      
  23.     public void run() 
  24.     { 
  25.         mc.printMoney(); 
  26.         mc.charge2000(); 
  27.     } 
  28. public class MasterCard 
  29.     int money = 10000
  30.     public synchronized void charge2000()//修飾方法,相當于鎖住的是引用該方法的類對象本身 
  31.     { 
  32. //        synchronized(this) 
  33. //        { 
  34.             this.money -= 2000
  35.             System.out.println("取2000后余額:" + this.money); 
  36. //        } 
  37.     } 
  38.      
  39.     public void printMoney() 
  40.     { 
  41.         System.out.println("取2000前余額:" + this.money); 
  42.     } 
  43.      
  44.     public synchronized void charge1000() 
  45.     { 
  46. //        synchronized(this) 
  47. //        { 
  48.             this.money -= 1000
  49.             System.out.println("取1000后余額:" + this.money); 
  50. //        } 
  51.     } 
  52.      
  53.     public static void main(String[] args) 
  54.     { 
  55.         MasterCard mc = new MasterCard(); 
  56.         Thread1 t1 = new Thread1(mc); 
  57.         t1.start(); 
  58.         Thread2 t2 = new Thread2(mc); 
  59.         t2.start(); 
  60.          
  61.     } 
  62.      
  63.     public void charge() 
  64.     { 
  65.         synchronized (this
  66.         { 
  67.             System.out.println("取款1000前:" + money); 
  68.             money -= 1000
  69.             System.out.println("余額:" + money); 
  70.         } 
  71.     } 
  72.      
  73.      
  74.      
  75.     // public void charge() 
  76.     // { 
  77.     // System.out.println("取款前:" + money); 
  78.     // money -= 1000; 
  79.     // System.out.println("余額:" + money); 
  80.     // } 
  81.     // 
  82.      
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗源县| 新营市| 来凤县| 呼和浩特市| 金溪县| 衡山县| 闽侯县| 盱眙县| 抚远县| 新闻| 沙坪坝区| 大厂| 开江县| 海南省| 德州市| 崇仁县| 上栗县| 舟曲县| 嘉鱼县| 高邑县| 孟津县| 台南县| 灌南县| 黄陵县| 临漳县| 龙井市| 北安市| 柘荣县| 禹州市| 潜江市| 金溪县| 聊城市| 衡山县| 常宁市| 清流县| 肥东县| 镇江市| 奈曼旗| 大兴区| 河池市| 通榆县|