首页 > 其他 > 详细

使用同步锁方法模拟抢票

时间:2020-07-08 20:27:49      阅读:56      评论:0      收藏:0      [点我收藏+]
 1 /**
 2  *     使用同步方法模拟12306抢票
 3  */
 4 public class SynMethed12306 {
 5     public static void main(String[] args) {
 6         Web12306 one = new Web12306();
 7         new Thread(one, "张三").start();
 8         new Thread(one, "李四").start();
 9         new Thread(one, "王五").start();
10     }
11 }
12 
13 class Web12306 implements Runnable{
14     private int number = 50;    //票数
15     private boolean flag = true;    //标识符
16     @Override
17     public void run() {
18         while(flag) {
19             try {
20                 Thread.sleep(100);
21             } catch (InterruptedException e) {
22                 e.printStackTrace();
23             }
24             test();
25         }
26     }
27 
28     public synchronized void test() { //同步锁关键字
29         if(number <= 0) {
30             flag = false;
31             return;
32         }
33         System.out.println(Thread.currentThread().getName() + "-->" + number--);
34     }
35     
36 }

 

使用同步锁方法模拟抢票

原文:https://www.cnblogs.com/zhang741741/p/13268926.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!