温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

线程thread:synchronized、同步线程

发布时间:2020-07-27 11:01:43 来源:网络 阅读:366 作者:glblong 栏目:开发技术

 

  1. public class Payment  
  2. {  
  3.     public int sku = 100;  
  4.     public static void main(String[] args)  
  5.     {  
  6.         Payment p = new Payment();  
  7.         Order1 o1 = new Order1(p);  
  8.         Order2 o2 = new Order2(p);  
  9.         o1.start();  
  10.         o2.start();  
  11.     }  
  12. }  
  13.   
  14.   
  15. class Order1 extends Thread  
  16. {  
  17.     Payment p;  
  18.     public Order1(Payment p)  
  19.     {  
  20.         this.p = p;  
  21.     }  
  22.     @Override  
  23.     public void run()//重写run()  
  24.     {  
  25.         synchronized(p) //对象p加锁 
  26.         {  
  27.             p.sku -= 1;  
  28.             System.out.println("剩余库存:" + p.sku);  
  29.         }  
  30.     }  
  31. }  
  32.   
  33. class Order2 extends Thread  
  34. {  
  35.     Payment p;  
  36.     public Order2(Payment p)  
  37.     {  
  38.         this.p = p;  
  39.     }  
  40.     @Override  
  41.     public void run()  
  42.     {  
  43.         synchronized(p)  
  44.         {  
  45.             p.sku -= 1;  
  46.             System.out.println("剩余库存:" + p.sku);  
  47.         }  
  48.     }  
  49. }  

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI